playwright⼊门
to removePlaywright提供了⼀组API,可⾃动执⾏Chromium,Firefox和WebKit浏览器。
通过使⽤Playwright API,您可以编写Python代码来创建新的浏览器页⾯,导航到URL,然后与页⾯上的元素进⾏交互。
Playwright可以与测试运⾏程序⼀起⽤于⾃动进⾏⽤户交互,以验证和测试Web应⽤程序。
Playwright API通过以下原语实现此⽬的。
打开浏览器
浏览器上下⽂
shelly头像页⾯和框架
选择器
⾃动等待
执⾏上下⽂:Node.js和浏览器
对象和元素句柄
⼀、安装
安装Chromium、Firefox、WebKit等浏览器的驱动⽂件
python -m playwright install
⼆、录制
使⽤Playwright⽆需写⼀⾏代码,我们只需⼿动操作浏览器,它会录制我们的操作,然后⾃动⽣成代码脚本。
下⾯就是录制的命令codegen,仅仅⼀⾏。
python -m playwright codegen
举例:我要在baidu搜索,⽤chromium驱动,将结果保存为my.py的python⽂件。
下⾯的例⼦,展⽰的打开百度,进⾏搜索。系统⾃动录制操作动作,并⽣成python脚本。
from playwright import sync_playwright
def run(playwright):
browser = playwright.chromium.launch(headless=False)
context = wContext()
# Open new page
page = wPage()
# Go to www.baidu/
<("www.baidu/")
# Click input[name="wd"]
page.click("input[name=\"wd\"]")
# Fill input[name="wd"]
page.fill("input[name=\"wd\"]", "宝马汽车")
css布局固定宽度
# Go to www.baidu/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E8%9A%82%E8%9A%81%E6%B2%89%E9%A6%99&fenlei=256&rsv_pq=9922438e0001e6c4&rsv_t=80e30fK9WkdiBWynXeqiNJIl80Q0ZcAuB3ZzCZU6I ("www.baidu/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=%E8%9A%82%E8%9A%81%E6%B2%89%E9%A6%99&fenlei=256&rsv_pq=9922438e0001e6c4&rsv_t=80e30fK9WkdiBWynXeqiNJIl80Q0ZcAuB3ZzCZ page1 = wPage()
# Go to zhidao.baidu/question/615937275180020252.html
python入门教程完整版百度网盘("zhidao.baidu/question/615937275180020252.html")
# Double click div[id="answer-content-1510052568"]
page1.dblclick("div[id=\"answer-content-1510052568\"]")
print(page1.element("div[id=\"answer-content-1510052568\"]").innertext())
eclipse配置tomcat运行项目# Close page
page1.close()
# Close page
page.close()
# ---------------------
context.close()
browser.close()
with sync_playwright() as playwright:
run(playwright)
三、同步
containsvalue下⾯⽰例代码:依次打开三个浏览器,前往baidu搜索,截图后退出。
from playwright import sync_playwright
with sync_playwright() as p:
for browser_type in [p.chromium, p.firefox, p.webkit]:
browser = browser_type.launch()
page = wPage()
<('baidu/')
page.screenshot(path=f'example-{browser_type.name}.png')
browser.close()
四、异步
异步操作可结合asyncio同时进⾏三个浏览器操作。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论