Playwright
Playwright 模块提供了启动浏览器实例的方法。以下是使用 Playwright 进行自动化操作的典型示例:
- 同步
- 异步
from playwright.sync_api import sync_playwright, Playwright
def run(playwright: Playwright):
chromium = playwright.chromium # 或者 "firefox" 或 "webkit"。
browser = chromium.launch()
page = browser.new_page()
page.goto("http://example.com")
# 其他操作...
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 # 或者 "firefox" 或 "webkit"。
browser = await chromium.launch()
page = await browser.new_page()
await page.goto("http://example.com")
# 其他操作...
await browser.close()
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
方法
stop
v1.9 之前添加如果 Playwright 实例是在未使用 Python 上下文管理器的情况下创建的,可以通过该方法终止此 Playwright 实例。这在 REPL 应用场景下非常有用。
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()
返回值
属性
chromium
v1.9 之前添加该对象可用于启动或连接到 Chromium,返回 Browser 实例。
用法
playwright.chromium
类型
devices
v1.9 之前添加返回一个设备字典,可用于 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")
# 其他操作...
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")
# 其他操作...
await browser.close()
async def main():
async with async_playwright() as playwright:
await run(playwright)
asyncio.run(main())
用法
playwright.devices
类型
firefox
v1.9 之前添加该对象可用于启动或连接到 Firefox,返回 Browser 实例。
用法
playwright.firefox
类型
request
新增于: v1.16提供可用于 Web API 测试的 API。
用法
playwright.request
类型
selectors
v1.9 之前添加选择器可用于安装自定义选择器引擎。更多信息请参见可扩展性。
用法
playwright.selectors
类型
webkit
v1.9 之前添加该对象可用于启动或连接到 WebKit,返回 Browser 实例。
用法
playwright.webkit
类型