知行迭代
导航
首页
最近更改
随机页面
常用
分类目录
Linux命令
Mediawiki常用
电脑技巧
工具
链入页面
相关更改
特殊页面
页面信息
登录
查看“Playwright”的源代码
←
Playwright
页面
讨论
阅读
查看源代码
查看历史
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:[
[1]
]
您可以查看和复制此页面的源代码。
Playwright是微软源的一个Web测试和自动化框架。支持 Chromium、Firefox和WebKit浏览器,[[Linux]]、[[macOS]]和[[Windows]]平台,[[Python]]、.NET和[[Java]]等多语言。 ==简介== ===时间轴=== ===安装=== 安装[[Python]]版本: <syntaxhighlight lang="bash" > # 安装pytest插件版playwright # pip install pytest-playwright # 安装Pytest pip install playwright # 安装所有支持的浏览器及配置驱动 # playwright install # 只安装chrome浏览器及配置驱动,使用playwright install -h可以查看帮助 # 目前支持chromium, chrome, chrome-beta, msedge, msedge-beta, msedge-dev, firefox, webkit浏览器。 playwright install chrome </syntaxhighlight> {{了解更多 |[https://playwright.dev/python/docs/intro Playwright Python 文档:安装] |[https://playwright.dev/python/docs/library Playwright Python 文档:入门] }} ==快速入门== === 同步模式 === <syntaxhighlight lang="python" > from playwright.sync_api import sync_playwright playwright = sync_playwright().start() # 使用playwright.chromium, playwright.firefox or playwright.webkit # 默认无界面模式,launch使用headless=False设置有界面 browser = playwright.firefox.launch(headless=False) page = browser.new_page() page.goto("https://www.baidu.com") page.screenshot(path="截图.png") browser.close() playwright.stop() </syntaxhighlight> 更常用使用with语句: <syntaxhighlight lang="python" > from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.firefox.launch(headless=False) page = browser.new_page() page.goto("https://www.baidu.com/") # 输入框输入文字 # page.locator('//input[@id="kw"]').fill('playwright') page.fill('//input[@id="kw"]', 'playwright') # 点击搜索按钮 # page.locator('//input[@id="su"]').click() page.click('//input[@id="su"]') # 延迟5秒,单位毫秒 page.wait_for_timeout(5*1000) page.screenshot(path="截图.png") browser.close() </syntaxhighlight> 代码在[[Jupyter]]中运行会出现错误:<code>Error: It looks like you are using Playwright Sync API inside the asyncio loop.Please use the Async API instead.</code>。解决办法:代码保存到<code>测试.py</code>,在终端运行<code>python 测试.py</code>。 {{了解更多 |[https://playwright.dev/python/docs/library Playwright Python 文档:入门] }} === 异步模式 === 使用with语句 <syntaxhighlight lang="python" > import asyncio from playwright.async_api import async_playwright async def main(): async with async_playwright() as p: browser = await p.firefox.launch(headless=False) page = await browser.new_page() await page.goto("https://wwww.baidu.com") print(await page.title()) await browser.close() asyncio.run(main()) </syntaxhighlight> {{了解更多 |[https://playwright.dev/python/docs/library Playwright Python 文档:入门] }} ==浏览器== ===安装和使用=== {| class="wikitable" ! 名称 ! 描述 |- | chromium | 使用<code>playwright install chromium</code>安装好浏览器和驱动 <syntaxhighlight lang="python" > 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://www.baidu.com/") page.wait_for_timeout(5*1000) # 等待5秒 page.screenshot(path="截图.png") browser.close() </syntaxhighlight> |- | chrome | 使用<code>playwright install chrome</code>自动安装浏览器和驱动,也可以自己安装浏览器和驱动。 <syntaxhighlight lang="python" > browser = p.chromium.launch( channel="chrome", headless=False, slow_mo=10, # 跳过检测 args=['--disable-blink-features=AutomationControlled'] ) </syntaxhighlight> |- | firefox | 使用<code>playwright install firefox</code>自动安装浏览器和驱动<syntaxhighlight lang="python" > browser = p.firefox.launch(headless=False) </syntaxhighlight> |- | | |} ==检测与防检测== ===防检测=== {| class="wikitable" ! 名称 ! 描述 ! 示例 |- | 设置参数,运行add_init_script | 删除一些特征。 <syntaxhighlight lang="python" > from playwright.sync_api import sync_playwright with sync_playwright() as p: browser = p.chromium.launch( channel="chrome", headless=False, slow_mo=10, # 防检测 args=['--disable-blink-features=AutomationControlled'] ) page = browser.new_page() page.add_init_script(""" Object.defineProperties(navigator, {webdriver:{get: () => undefined}}); """) page.goto("https://wwww.baidu.com") page.wait_for_timeout(5*1000) page.screenshot(path="截图.png") browser.close() </syntaxhighlight> |- | | | |- | | | |} ==资源== ===官网=== * Playwright 官网:https://playwright.dev * Playwright 源代码:https://github.com/microsoft/playwright * Playwright Python版源代码:https://github.com/microsoft/playwright-python * Playwright Python 文档:https://playwright.dev/python/docs/intro ===网站=== ===文章===
本页使用的模板:
模板:了解更多
(
查看源代码
)
返回至“
Playwright
”。