簡介
Playwright 是一個強大的自動化測試工具,它不僅可以模擬用戶在瀏覽器中的行爲,還能夠靈活控制瀏覽器的啓動、停止和等待操作。在本文中,我們將探討如何使用 Playwright 進行這些操作。
啓動停止瀏覽器
我們之前是使用with
方法來控制瀏覽器啓動和停止,現在我們來介紹一下使用start stop
來控制瀏覽器,代碼如下:
from playwright.sync_api import sync_playwright
playwright = sync_playwright().start()
browser = playwright.chromium.launch(headless=False)
page = browser.new_page()
page.goto("https://www.ceshiren.com/")
browser.close()
playwright.stop()
等待
我們之前介紹過,相對於selenium,playwright執行速度會更快,爲了便於我們查看執行的過程,我們可以加上等待來減緩執行,但是與selenium不同,playwright通過slow_mo
(單位是毫秒)減慢執行速度,它的作用範圍是全局的,從啓動瀏覽器到操作元素每個動作都會有等待間隔,方便在出現問題的時候看到頁面操作情況。使用方法如下:
chromium.launch(headless=False, slow_mo=50)
示例代碼如下:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=1000)
page = browser.new_page()
page.goto("https://www.baidu.com")
print(page.title())
page.fill('#kw', "測試人社區")
page.click('#su')
browser.close()
注:與selenium不同,playwright不再支持time.sleep(),而是使用page.wait_for_timeout()來實現等待,當我們調試時需要等待,即可使用該方法。
示例代碼如下:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=False, slow_mo=1000)
page = browser.new_page()
page.goto("https://www.baidu.com")
print(page.title())
# 等待5秒
page.wait_for_timeout(5000)
page.fill('#kw', "測試人社區")
page.click('#su')
# 等待3秒
page.wait_for_timeout(3000)
browser.close()
運行結果如下:
總結
本文主要介紹了一些playwright的簡單使用,playwright的使用與selenium有一些不同,我們需要注意不同點,比如playwright默認是無頭模式運行以及等待的改變。下一篇文章我們將介紹playwright定位元素的方法。