playwright 的基本使用

Playwright 是一个支持多浏览器自动化的库,支持 Chromium、Firefox 和 WebKit。以下是其基本使用方法:

安装 Playwright

使用 pip 安装 Playwright 库:

pip install playwright

安装完成后,运行以下命令下载浏览器二进制文件:

playwright install

启动浏览器

使用 Playwright 启动浏览器并打开页面:

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False)  # 非无头模式
    page = browser.new_page()
    page.goto("https://example.com")
    browser.close()

异步模式

Playwright 也支持异步操作:

import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch()
        page = await browser.new_page()
        await page.goto("https://example.com")
        await browser.close()

asyncio.run(main())

元素操作

定位和操作页面元素:

page.fill("input[name='username']", "testuser")  # 输入文本
page.click("button#submit")  # 点击按钮
text = page.text_content(".result")  # 获取元素文本

等待与导航

等待页面加载或元素出现:

page.wait_for_selector(".loaded")  # 等待元素出现
page.wait_for_navigation()  # 等待导航完成

截图与 PDF

保存页面截图或生成 PDF:

page.screenshot(path="screenshot.png")  # 截图
page.pdf(path="page.pdf")  # 生成 PDF

模拟设备

模拟移动设备访问:

iphone = p.devices["iPhone 12"]
context = browser.new_context(**iphone)
page = context.new_page()
page.goto("https://example.com")

事件监听

监听页面事件:

page.on("response", lambda response: print(response.url))

关闭浏览器

完成操作后关闭浏览器:

browser.close()


 

以上是 Playwright 的基本使用方法,更多高级功能可参考官方文档。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐