Python中playwright啟動瀏覽器與常見運行方式詳解
前言
在本文中,我們將介紹如何使用Playwright這一現(xiàn)代化的瀏覽器自動化工具來啟動瀏覽器,并深入了解其運行方式。Playwright是一個功能強大的工具,可以幫助開發(fā)人員自動化測試、網(wǎng)頁截圖、信息提取等任務。它支持多種瀏覽器,包括Chrome、Firefox和WebKit。
啟動瀏覽器
上一篇文章中,我們安裝了playwright和各個瀏覽器的測試版本,所以我們可以直接啟動瀏覽器,代碼如下:
from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch(headless=False) # 啟動 chromium 瀏覽器 page = browser.new_page() # 打開一個標簽頁 page.goto("https://www.baidu.com") # 打開百度地址 print(page.title()) # 打印當前頁面title browser.close() # 關閉瀏覽器對象
打印結果如下:
注:playwright默認是無頭方式啟動運行瀏覽器的,如果我們想要看到界面,需要查看瀏覽器界面,需要將headless設置為False
異步運行
Playwright 支持2種運行方式:同步和異步。如果項目使用asyncio,那我們應該使用 async API:
import asyncio from playwright.async_api import async_playwright async def main(): async with async_playwright() as p: browser = await p.chromium.launch(headless=False) page = await browser.new_page() await page.goto("https://www.baidu.com") print(await page.title()) await browser.close() asyncio.run(main())
打印結果如下:
start stop運行方式
除了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.baidu.com/") browser.close() playwright.stop()
等待
相對于selenium,playwright執(zhí)行速度會更快,為了便于我們查看執(zhí)行的過程,我們可以加上等待來減緩執(zhí)行,但是與selenium不同,playwright通過slow_mo (單位是毫秒)減慢執(zhí)行速度,它的作用范圍是全局的,從啟動瀏覽器到操作元素每個動作都會有等待間隔,方便在出現(xiàn)問題的時候看到頁面操作情況。使用方法如下:
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', "theshy") page.click('#su') browser.close()
注:與selenium不同,playwright不再支持time.sleep(),而是使用page.wait_for_timeout()來實現(xiàn)等待,當我們調(diào)試時需要等待,即可使用該方法。
示例代碼如下:
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', "theshy") page.click('#su') # 等待3秒 page.wait_for_timeout(3000) browser.close()
運行結果如下:
總結
本文主要介紹了一些playwright的簡單使用,playwright的使用與selenium有一些不同,我們需要注意不同點,比如playwright默認是無頭模式運行以及等待的改變。下一篇文章我們將介紹playwright定位元素的方法。
到此這篇關于Python中playwright啟動瀏覽器與常見運行方式詳解的文章就介紹到這了,更多相關Python playwright內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- 使用Playwright模擬API的項目實踐
- Python自動化神器Playwright的用法詳解
- Python寫UI自動化之playwright(點擊操作)詳解
- Python?Playwright進行常見的頁面交互操作
- 深入理解Playwright的高級功能和用法
- Python中Playwright模塊進行自動化測試的實現(xiàn)
- 使用Python中的Playwright制作測試視頻的實現(xiàn)步驟
- python+playwright 元素操作示例代碼
- 使用Playwright進行視覺回歸測試詳解
- python playwright--pytest-playwright、pytest-base-url插件編寫用例
- Playwright 跟蹤查看器的高級用法
相關文章
Python 內(nèi)置函數(shù)memoryview(obj)的具體用法
本篇文章主要介紹了Python 內(nèi)置函數(shù)memoryview(obj)的具體用法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11python基礎知識(一)變量與簡單數(shù)據(jù)類型詳解
這篇文章主要介紹了python變量與簡單數(shù)據(jù)類型詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04django開發(fā)之settings.py中變量的全局引用詳解
當網(wǎng)站里面的一些內(nèi)容,如郵箱,網(wǎng)站標題,網(wǎng)站的描述,這些東西我們可以存在數(shù)據(jù)庫中也可以存放在我們的setting 文件中,這篇文章主要給大家介紹了django中settings.py變量的全局引用的相關資料,文中介紹的非常詳細,需要的朋友可以參考下。2017-03-03python openpyxl方法 zip函數(shù)用法及說明
這篇文章主要介紹了python openpyxl方法 zip函數(shù)用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05Python 使用dict實現(xiàn)switch的操作
這篇文章主要介紹了Python 使用dict實現(xiàn)switch的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04