Playwright - 666zhengyan/chinese-playwrightAPI-python GitHub Wiki

playwright

Playwright模块提供了一个启动浏览器实例的方法。以下是使用Playwright进行自动化的典型示例:

  • 同步
from playwright.sync_api import sync_playwright, Playwright

def run(playwright: 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, Playwright

async def run(playwright: 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实例。

from playwright.sync_api import sync_playwright

playwright = sync_playwright().start()

browser = playwright.chromium.launch()
page = browser.new_page()
page.goto("https://playwright.dev/")
page.screenshot(path="example.png")
browser.close()

playwright.stop()

用法

playwright.stop()

返回值

NoneType

下面是属性

chromium 这个对象可以用来启动或连接到Chromium,返回Browser实例。

用法

playwright.chromium

类型

  • BrowserType

devices(设备)

返回一个devices字典,其中包含可用的 browser.new_context() 或 browser.new_page()。

  • 同步
from playwright.sync_api import sync_playwright, Playwright

def run(playwright: 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, Playwright

async def run(playwright: 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())

用法

playwright.devices

类型

Dict(字典)

firefox(火狐浏览器)

这个对象可以用来启动或连接到 Firefox,返回浏览器实例。

用法

playwright.firefox

类型

  • BrowserType

request

暴露可用于 Web 测试的 API

用法

playwright.request

类型

APIRequest

selectors

selectors可用于安装自定义选择器引擎。

用法

  • playwright.selectors

类型

  • Selectors

webkit

可以启动WebKit,返回浏览器实例

用法

  • playwright.webkit

类型

BroswerType