安裝
pip install playwright -i https://mirrors.aliyun.com/pypi/simple/
使用阿里源,下載速度快一點。
python -m playwright install
安裝chromium、frefox、webkit。
代碼樣例
打開百度頁面:
同步API:
from playwright import sync_playwright
with sync_playwright() as p:
# 可以選擇chromium、firefox和webkit
browser_type = p.chromium
# 運行chrome瀏覽器,executablePath指定本地chrome安裝路徑
# browser = browser_type.launch(headless=False,slowMo=50,executablePath=r"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe")
browser = browser_type.launch(headless=False)
page = browser.newPage()
page.goto('https://www.baidu.com/')
page.screenshot(path=f'example-{browser_type.name}.png')
browser.close()
異步API:
import asyncio
from playwright import async_playwright
async def main():
async with async_playwright() as p:
browser_type = p.chromium
browser = await browser_type.launch(headless=False)
page = await browser.newPage()
await page.goto('https://www.baidu.com/')
await page.screenshot(path=f'example-{browser_type.name}.png')
await browser.close()
asyncio.get_event_loop().run_until_complete(main())
模擬手機模式:
from playwright import sync_playwright
with sync_playwright() as p:
iphone_11 = p.devices['iPhone 11 Pro']
browser = p.webkit.launch(headless=False)
context = browser.newContext(
**iphone_11,
locale='zh-CN'
)
page = context.newPage()
page.goto('https://www.baidu.com/')
page.click('#logo')
page.screenshot(path='colosseum-iphone.png')
browser.close()
瀏覽器中運行JS
from playwright import sync_playwright
with sync_playwright() as p:
browser = p.firefox.launch(headless=False, slowMo=1000)
page = browser.newPage()
page.goto('https://www.baidu.com/')
dimensions = page.evaluate('''() => {
return {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight,
deviceScaleFactor: window.devicePixelRatio
}
}''')
print(dimensions)
browser.close()
錄制生成代碼
python -m playwright codegen
,添加--help
查看參數 python -m playwright codegen -h
# -o, --output <file name> 保存腳本到該文件
# --target <language> 指定生成語言 javascript, python, python-async, csharp;默認是python
# -h, --help 查看幫助命令
示例
python -m playwright -b webkit codegen https://www.baidu.com/ -o test.py --target python
-b
是指定瀏覽器,查看其他參數:python -m playwright -h