Playwright
Playwright 模块提供了一种启动浏览器实例的方法。以下是使用 Playwright 驱动自动化的典型示例:
- Sync
- Async
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())
- playwright.chromium
- playwright.devices
- playwright.firefox
- playwright.request
- playwright.selectors
- playwright.stop()
- playwright.webkit
playwright.stop()
Added in: v1.8终止此 Playwright 实例,以防它是绕过 Python 上下文管理器创建的。这对 REPL 应用程序很有用。
>>> 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()
playwright.chromium
Added in: v1.8- type: <BrowserType>
此对象可用于启动或连接到 Chromium,返回 Browser 的实例。
playwright.devices
Added in: v1.8- type: <Dict>
返回用于 browser.new_context(**kwargs) 或 browser.new_page(**kwargs) 的设备字典。
- Sync
- Async
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())
playwright.firefox
Added in: v1.8- type: <BrowserType>
此对象可用于启动或连接到 Firefox,返回 Browser 的实例。
playwright.request
Added in: v1.16- type: <APIRequest>
公开用于 Web API 测试的 API。
playwright.selectors
Added in: v1.8- type: <Selectors>
Selectors 可用于安装自定义选择器引擎。有关详细信息,请参阅使用选择器。
playwright.webkit
Added in: v1.8- type: <BrowserType>
此对象可用于启动或连接到 WebKit,返回 Browser 的实例。