今天是國慶節的最後一天,明天又要上班了,真的是感覺好像才開始放假一樣,還是因為失戀沒緩過來嗎?
第1天,當了近半天的司機,陪家人去各大超市去購物,下午在家躺·····
第2-5天,重感冒,鼻涕不止,渾身痠痛乏力,兩卷衛生紙下去,鼻子已經廢了,真的是躺平了······
第6天,打嗝不止,乾咳、嗓子發炎腫了、鼻子燒了、嗓子基本說不出話了······
綜上,真的這個假期過的好累,算是大病一場嗎?
早上6點20醒了,刷了一集《請君》,覺得狀態還不錯,還是寫點東西吧,也算找找狀態吧。
不管經歷過什麼,孰對孰錯,生活還是要繼續的,和自己和解,要學習的還有很多,充實過好每一天即可。
這系列的文章還要繼續下去的,那麼接下來要進行瀏覽器部分的操作了。
範例程式碼如下:
//預設為無頭瀏覽器方式啟動
browser = playwright.chromium().launch();
//引數設定方式啟動
browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(true).setSlowMo(5000));
context = browser.newContext();
一般來說,一個page對應一個瀏覽器索引標籤,這點和selenium有點像,也可以說是比selenium分的更細緻?
範例如下:
page = context.newPage();
這裡以chrome瀏覽器為例,範例程式碼如下:
Playwright playwright = Playwright.create();
//看到某博主寫的python版的加--start-maximized這個引數,本人嘗試後發現無效(Mac系統)
//Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions()
// .setArgs(Collections.singletonList("--start-maximized"))
// .setHeadless(false));
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
browser.newContext(new Browser.NewContextOptions()
.setIgnoreHTTPSErrors(true)
.setJavaScriptEnabled(true)
.setViewportSize(2880, 1800));
Page page = browser.newPage();
page.navigate("https://www.cnblogs.com/longronglang");
System.out.println(page.title());
browser.close();
playwright.close();
就是個瀏覽器的封裝,沒啥技術含量,範例程式碼如下:
import com.microsoft.playwright.*;
import org.testng.annotations.Test;
/**
* @author rongrong
* @version 1.0
* @description 瀏覽器視窗操作
* @date 2022/10/7 2:21 PM
*/
public class TestBrowser {
/**
* 建立瀏覽器上下文
*
* @param browser
* @return
*/
public BrowserContext createContext(Browser browser) {
BrowserContext context = browser.newContext(new Browser.NewContextOptions()
.setIgnoreHTTPSErrors(true)
.setJavaScriptEnabled(true)
//此處可以理解為設定指定視窗啟動
.setViewportSize(1980, 1080));
return context;
}
/**
* 建立瀏覽器
*
* @param name
* @param playwright
* @return
*/
public Browser createBrowser(String name, Playwright playwright) {
try {
switch (name) {
case "firefox":
return playwright.firefox().launch(new BrowserType.LaunchOptions().setHeadless(false).setTimeout(120 * 1000));
case "chromium":
return playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false).setTimeout(120 * 1000));
case "webkit":
return playwright.webkit().launch();
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Test
public void testBrowser() {
//火狐瀏覽器
startBrowser("firefox");
//谷歌瀏覽器
startBrowser("chromium");
//這個瀏覽器不好使
//startBrowser("webkit");
}
/**
* 根據瀏覽器型別,啟動瀏覽器
*
* @param browserName
*/
private void startBrowser(String browserName) {
//建立Playwright
Playwright playwright = Playwright.create();
//建立Browser(使用谷歌瀏覽器)
Browser browser = createBrowser(browserName, playwright);
//建立瀏覽器上下文
BrowserContext browserContext = createContext(browser);
Page page = browserContext.newPage();
page.navigate("https://www.cnblogs.com/longronglang");
System.out.println("page.title :" + page.title());
System.out.println(browserName + " 瀏覽器啟動了!");
browser.close();
browserContext.close();
playwright.close();
}
}
效果如下:
範例程式碼如下:
Playwright playwright = Playwright.create();
Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
browser.newContext(new Browser.NewContextOptions()
.setIgnoreHTTPSErrors(true)
.setJavaScriptEnabled(true)
.setViewportSize(2880, 1800));
Page page = browser.newPage();
page.navigate("https://www.cnblogs.com/longronglang");
//輸出:久曲健 - 部落格園
System.out.println("page title:"+page.title());
//這裡是執行時打斷點使用,方便偵錯(適用於喜歡用錄製回放生成指令碼的同學)
//page.pause();
pause(3);
//開啟百度頁面
page.navigate("https://www.baidu.com/");
//輸出:百度一下,你就知道
System.out.println("page title:"+page.title());
//後退操作
page.goBack();
pause(3);
//輸出:久曲健 - 部落格園
System.out.println("page title:"+page.title());
//前進操作
page.goForward();
pause(3);
System.out.println("page title:"+page.title());
//重新整理操作
page.reload();
pause(3);
//輸出當前url
System.out.println("page url:"+page.url());
browser.close();
playwright.close();
效果如下:
到此,關於瀏覽器的操作部分已分享完畢,有興趣的同學可以自行嘗試,更多請參考官方檔案。
這個部落格從上午九點多寫到現在,表示很慚愧,大部分時間還是在刷手機,懶散壞了,想收收心,怕是真的很難!
整個人還是不太好,因為打嗝不止,震的我脖子都疼,果然病痛確實很折磨人!
看到很好的一句話分享給大家,也送給每個戀愛過程中朋友:
分享如下:
連回音都沒有的山谷,不值得縱身一躍;
。——知乎
優秀不夠,你是否無可替代
軟體測試交流QQ群:721256703,期待你的加入!!
歡迎關注我的微信公眾號:軟體測試君