Playwright- python 快速开始

发布时间 2023-10-16 17:04:39作者: mingruqi
Playwright模块提供了一种启动浏览器实例的方法。以下是使用Playwright驱动自动化的典型示例:
from playwright.sync_api import sync_playwright

def run(playwright):
    chromium = playwright.chromium # or "firefox" or "webkit".
    browser = chromium.launch()
    page = browser.new_page()
    page.goto("http://example.com")
    # other actions...
    browser.close()

with sync_playwright() as playwright:
    run(playwright)
import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
    chromium = playwright.chromium # or "firefox" or "webkit".
    browser = await chromium.launch()
    page = await browser.new_page()
    await page.goto("http://example.com")
    # other actions...
    await browser.close()

async def main():
    async with async_playwright() as playwright:
        await run(playwright)
asyncio.run(main())

方法:stop

playwright.stop()
终止这个Playwright实例,以防它是绕过Python上下文管理器创建的。这在REPL应用程序中很有用(_repl 应用_本质其实就是一个shell脚本)。

>>> from playwright.sync_api import sync_playwright

>>> playwright = sync_playwright().start()

>>> browser = playwright.chromium.launch()
>>> page = browser.new_page()
>>> page.goto("http://whatsmyuseragent.org/")
>>> page.screenshot(path="example.png")
>>> browser.close()

>>> playwright.stop()

属性:chromium、firefox、webkit

playwright.chromium
playwright.firefox
playwright.webkit
此对象可用于启动或连接chromium、firefox、webkit,返回Browser的实例。

devices

playwright.devices
返回用于browser.new_context()或browser.nnew_page()的设备字典。

from playwright.sync_api import sync_playwright

def run(playwright):
    webkit = playwright.webkit
    iphone = playwright.devices["iPhone 6"]
    browser = webkit.launch()
    context = browser.new_context(**iphone)
    page = context.new_page()
    page.goto("http://example.com")
    # other actions...
    browser.close()

with sync_playwright() as playwright:
    run(playwright)
import asyncio
from playwright.async_api import async_playwright

async def run(playwright):
    webkit = playwright.webkit
    iphone = playwright.devices["iPhone 6"]
    browser = await webkit.launch()
    context = await browser.new_context(**iphone)
    page = await context.new_page()
    await page.goto("http://example.com")
    # other actions...
    await browser.close()

async def main():
    async with async_playwright() as playwright:
        await run(playwright)
asyncio.run(main())

request

playwright.request
公开可用于Web API测试的API。

selectors

playwright.selectors
选择器可用于安装自定义选择器引擎。有关详细信息,请参阅可扩展性