1.简介
前边两章文章已经将环境搭建好了,今天就在Java项目搭建环境中简单地实践一下: 启动两大浏览器。
接下来我们在Windows系统中启动浏览器即可,其他平台系统的浏览器类似的启动方法,照猫画虎就可以了。
但是在实践过程中,发现Java语言的Playwright目前好像支持三款浏览器:Chrome、Firefox和Webkit,索性就全部介绍了吧。
1.1下载的浏览器
跟随首先看一下,我们运行代码下载的浏览器,只有三款:Chrome、Firefox和Webkit。如下图所示:
1.2BrowserType(浏览器类型)
再跟随随,看一下代码中提供的浏览器类型就三个:chromium()、firefox()和webkit(),如下图所示:
2.启动浏览器准备工作
2.1准备工作
创建一个Playwright的Java项目,用来练习,具体步骤如下:
1.打开Eclipse,创建一个名称为vssmaventest的Java 项目,如下图所示:
2.选择项目,右键项目,选择Build Path,然后选择Confige Build Path...,弹出框点击Libraries,如下图所示:
3.这里点击Add External JARs...,弹出框,选择当前电脑本地之前下载好的所有与playwright相关的jar包,添加到新建的项目中,如下图所示:
4.点击“OK”,如下图所示:
准备工作就介绍到这里,下边介绍如何启动两大浏览器。
3.启动Chrome浏览器
大致思路:打开Chrome浏览器,访问百度网址,获取网址的title,然后再关闭Chrome浏览器。根据思路进行代码设计。
3.1代码设计
3.2参考代码
package vssweb;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;public class LaunchChrome {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));Page page = browser.newPage();page.navigate("https://www.baidu.com/");System.out.println(page.title());page.close();}}}
3.3运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:
2.运行代码后即可看到会打开浏览器后的执行效果
4.启动Firefox浏览器
大致思路和启动Chrome浏览器相同:打开Firefox浏览器,访问百度网址,获取网址的title,然后再关闭Firefox浏览器。根据思路进行代码设计。
4.1代码设计
4.2参考代码
package vssweb;import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;public class LaunchFirefox {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {Browser browser = playwright.firefox().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));Page page = browser.newPage();page.navigate("https://www.baidu.com/");System.out.println(page.title());page.close();}}}
4.3运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:
2.运行代码后就能看到电脑端的浏览器的动作打开
5.启动webkit浏览器
大致思路和启动Chrome浏览器相同:打开webkit浏览器,访问百度网址,获取网址的title,然后再关闭webkit浏览器。根据思路进行代码设计。
5.1代码设计
5.2参考代码
package vssweb;import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;public class LaunchWebkit {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {Browser browser = playwright.webkit().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));Page page = browser.newPage();page.navigate("https://www.baidu.com/");System.out.println(page.title());page.close();}}}
5.3运行代码
1.运行代码,右键Run AS->java Application,就可以看到控制台输出,如下图所示:
6.关键代码说明
package vssweb;
import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;public class LaunchChrome {public static void main(String[] args) {try (Playwright playwright = Playwright.create()) {//使用chromium浏览器,# 浏览器配置,设置以GUI模式启动Chrome浏览器(要查看浏览器UI,在启动浏览器时传递 headless=false 标志。您还可以使用 slowMo 来减慢执行速度。Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setSlowMo(50));//创建pagePage page = browser.newPage();//浏览器打开百度page.navigate("https://www.baidu.com/");//打印titleSystem.out.println(page.title());//关闭pagepage.close();}}}
通过上边在代码中增加的注释,想必就比较好理解了,这样就知道我们在第一篇文章运行代码时,为何没有看到执行后打开浏览器UI了吧!
7.梳理
经常碰到头疼的问题就是:出现浏览器版本和驱动版本匹配的问题,新手一定要注意这个问题。但是playwright无论是Java还是python语言,无论是新手还是老鸟就都不需要担心这些问题了,就是简单换个方法就可以启动不同的浏览器了。