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微软自动化工具内容请搜索 以前的文章或继续浏览下面的相关文章希望大家以后多多支持 !

相关文章

发表新评论