最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python之playwright的基本使用及說(shuō)明

 更新時(shí)間:2025年12月29日 09:21:04   作者:382427827  
這段代碼使用Playwright庫(kù)自動(dòng)化操作三種主流瀏覽器(Chromium、Firefox、WebKit),訪問(wèn)百度首頁(yè),對(duì)每個(gè)瀏覽器進(jìn)行截圖并打印網(wǎng)頁(yè)標(biāo)題
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    for browser_type in [p.chromium,p.firefox,p.webkit]:
        browser = browser_type.launch(headless=False)
        page = browser.new_page()
        page.goto('https://www.baidu.com')
        page.screenshot(path=f'screenshot-{browser_type.name}.png')
        print(page.title())
        browser.close()

運(yùn)行結(jié)果如下:

關(guān)鍵知識(shí)點(diǎn)

這段代碼使用了 Playwright(一個(gè)用于自動(dòng)化瀏覽器操作的 Python 庫(kù))來(lái)依次啟動(dòng)三種主流瀏覽器(Chromium、Firefox、WebKit),訪問(wèn)百度首頁(yè),并對(duì)每個(gè)瀏覽器進(jìn)行截圖和打印網(wǎng)頁(yè)標(biāo)題。

下面是對(duì)每一行代碼的詳細(xì)解釋:

導(dǎo)入模塊

from playwright.sync_api import sync_playwright
  • playwright.sync_api 模塊中導(dǎo)入 sync_playwright。
  • Playwright 提供了同步(sync)和異步(async)兩種 API 風(fēng)格,這里使用的是同步風(fēng)格,適合腳本式、順序執(zhí)行的任務(wù)。

啟動(dòng)上下文管理器

with sync_playwright() as p:
  • 使用 with 語(yǔ)句創(chuàng)建一個(gè) Playwright 的同步運(yùn)行時(shí)上下文。
  • p 是 Playwright 的主對(duì)象,通過(guò)它可以訪問(wèn)瀏覽器類型(如 chromium, firefox, webkit)。

好處with 會(huì)自動(dòng)在結(jié)束時(shí)關(guān)閉所有資源(如瀏覽器進(jìn)程),防止內(nèi)存泄漏。

遍歷三種瀏覽器

for browser_type in [p.chromium, p.firefox, p.webkit]:
  • p.chromium:代表基于 Chromium 的瀏覽器(如 Chrome、Edge)。
  • p.firefox:代表 Mozilla Firefox。
  • p.webkit:代表 Apple WebKit(在 macOS 上模擬 Safari 行為)。
  • 這里將依次啟動(dòng)這三種瀏覽器。

注意:首次運(yùn)行時(shí),Playwright 會(huì)自動(dòng)下載這些瀏覽器的精簡(jiǎn)版(如果尚未安裝)。

啟動(dòng)瀏覽器并打開(kāi)新頁(yè)面

browser = browser_type.launch(headless=False)
page = browser.new_page()

browser_type.launch(headless=False)

  • 啟動(dòng)對(duì)應(yīng)類型的瀏覽器。
  • headless=False 表示以有頭模式(即可見(jiàn)窗口)運(yùn)行;若設(shè)為 True 則后臺(tái)無(wú)界面運(yùn)行(默認(rèn)值通常是 True)。

browser.new_page()

  • 打開(kāi)一個(gè)新的標(biāo)簽頁(yè)(Page 對(duì)象),用于后續(xù)操作。

訪問(wèn)百度首頁(yè)

page.goto('https://www.baidu.com')
  • 在當(dāng)前頁(yè)面中導(dǎo)航到 https://www.baidu.com
  • Playwright 會(huì)等待頁(yè)面加載完成(包括網(wǎng)絡(luò)空閑)后再繼續(xù)執(zhí)行。

截圖保存

page.screenshot(path=f'screenshot-{browser_type.name}.png')

對(duì)當(dāng)前頁(yè)面進(jìn)行截圖,并保存為 PNG 文件。

文件名根據(jù)瀏覽器類型動(dòng)態(tài)生成,例如:

  • screenshot-chromium.png
  • screenshot-firefox.png
  • screenshot-webkit.png

打印網(wǎng)頁(yè)標(biāo)題

print(page.title())
  • 獲取當(dāng)前頁(yè)面的 <title> 標(biāo)簽內(nèi)容(即網(wǎng)頁(yè)標(biāo)題)。
  • 百度首頁(yè)的標(biāo)題通常是 "百度一下,你就知道"。
  • 將其打印到控制臺(tái)。

關(guān)閉瀏覽器

browser.close()
  • 關(guān)閉當(dāng)前瀏覽器實(shí)例及其所有頁(yè)面。
  • 釋放系統(tǒng)資源。

雖然 with sync_playwright() 會(huì)在最后清理資源,但顯式調(diào)用 browser.close() 是良好實(shí)踐,尤其在循環(huán)中。

總結(jié):這段代碼的作用

使用 Playwright 自動(dòng)化測(cè)試框架,在 Chromium、Firefox 和 WebKit 三種瀏覽器中分別打開(kāi)百度首頁(yè),截圖保存,并打印頁(yè)面標(biāo)題。

補(bǔ)充說(shuō)明

依賴安裝

pip install playwright
playwright install  # 安裝瀏覽器二進(jìn)制文件

常見(jiàn)用途

  • 跨瀏覽器兼容性測(cè)試
  • 自動(dòng)化截圖對(duì)比
  • 爬蟲(chóng)(繞過(guò)簡(jiǎn)單反爬)
  • UI 自動(dòng)化測(cè)試

注意事項(xiàng)

  • WebKit 在 Windows/Linux 上的行為可能與 macOS 不完全一致。
  • 如果網(wǎng)絡(luò)受限,goto() 可能超時(shí),可加 timeout=5000 參數(shù)。
  • 生產(chǎn)環(huán)境中建議使用 headless=True 提高性能。

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

宽城| 广宁县| 尚志市| 万山特区| 尉氏县| 布尔津县| 桂林市| 凉城县| 临颍县| 朝阳县| 陈巴尔虎旗| 双城市| 九台市| 屏东县| 正宁县| 大石桥市| 南丰县| 嵊泗县| 古浪县| 依安县| 开鲁县| 东港市| 五台县| 宜昌市| 那曲县| 辽中县| 九龙坡区| 奎屯市| 旌德县| 无锡市| 莱芜市| 温州市| 江川县| 邻水| 德庆县| 长垣县| 平遥县| 西吉县| 集安市| 孟连| 监利县|