最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
python+playwright微软自动化工具使用代码示例
时间:2021-02-02 编辑:袖梨 来源:一聚教程网
本篇文章小编给大家分享一下python+playwright微软自动化工具使用代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
它支持主流的浏览器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同时支持以无头模式、有头模式运行
playwright-python提供了同步、异步的 API,可以结合 Pytest测试框架使用,并且支持浏览器端的自动化脚本录制
项目地址:https://github.com/microsoft/playwright-python
安装playwright-python,执行命令:pip installplaywright
安装成功之后,执行命令:python -m playwright install,自动下载Chromeium、Firefox、Safari(WebKit)浏览器驱动到本地
同步
同步的关键字为:sync_playwright
比如,我们依次使用三个浏览器内核打开浏览器,然后百度一下,接着对在搜索界面截图,最后关闭浏览器
from time import sleep from playwright import sync_playwright # 注意:默认是无头模式 with sync_playwright() as p: # 分别对应三个浏览器驱动 for browser_type in [p.chromium, p.firefox, p.webkit]: # 指定为有头模式,方便查看 browser = browser_type.launch(headless=False) page = browser.newPage() page.goto('http://baidu.com') # 执行一次搜索操作 page.fill("input[name="wd"]", "AirPython") with page.expect_navigation(): page.press("input[name="wd"]", "Enter") # 等待页面加载完全 page.waitForSelector("text=百度热榜") # 截图 page.screenshot(path=f'example-{browser_type.name}.png') # 休眠5s sleep(5) # 关闭浏览器 browser.close()
需要指出的是,playwright-python 内置的 API基本上囊括常见的自动化操作
异步
异步步的关键字为:async_playwright
结合asyncio,我们同时执行上面的操作
import asyncio from playwright import async_playwright # 异步执行 async def main(): async with async_playwright() as p: for browser_type in [p.chromium, p.firefox, p.webkit]: # 指定为有头模式,方便查看 browser = await browser_type.launch(headless=False) page = await browser.newPage() await page.goto('http://baidu.com') # 执行一次搜索操作 await page.fill("input[name="wd"]", "AirPython") await page.press("input[name="wd"]", "Enter") # 等待页面加载完全 await page.waitForSelector("text=百度热榜") # 截图 await page.screenshot(path=f'example-{browser_type.name}.png') await browser.close() asyncio.get_event_loop().run_until_complete(main())
事实上,Playwright 是一个跨语言的自动化框架,支持 Python、Java、JS 等
Playwright 相比传统的自动化框架 Selenium 来说,在 Context 上下文及 API 使用上,显得更简洁且强大
-
上一个: python中time包实例代码解析
相关文章
- Golang ProtoBuf的基本语法详解 10-20
- Python识别MySQL中的冗余索引解析 10-20
- Python+Pygame绘制小球代码展示 10-18
- Python中的数据精度问题介绍 10-18
- Python随机值生成的常用方法介绍 10-18
- python3解压缩.gz文件分析 09-27