您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python+playwright微软自动化工具的使用

51自学网 2021-10-30 23:01:40
  python
这篇教程python+playwright微软自动化工具的使用写得很实用,希望能帮到您。

它支持主流的浏览器,包含:Chrome、Firefox、Safari、Microsoft Edge 等,同时支持以无头模式、有头模式运行

playwright-python 提供了同步、异步的 API,可以结合 Pytest 测试框架使用,并且支持浏览器端的自动化脚本录制

项目地址:https://github.com/microsoft/playwright-python

安装playwright-python,执行命令:pip install playwright

安装成功之后,执行命令: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+playwright微软自动化工具的使用的文章就介绍到这了,更多相关python playwright微软自动化工具内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


python爬虫智能翻页批量下载文件的实例详解
python中time包实例详解
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。