Playwright-python 教程


安裝

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

參考


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM