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語言,無論是新手還是老鳥就都不需要擔心這些問題了,就是簡單換個方法就可以啟動不同的瀏覽器了。