python+playwright微软自动化工具的使用

时间:2021-05-22

它支持主流的浏览器,包含: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

比如,我们依次使用三个浏览器内核打开浏览器,然后百度一下,接着对在搜索界面截图,最后关闭浏览器

fromtimeimportsleep fromplaywrightimportsync_playwright #注意:默认是无头模式 withsync_playwright()asp:#分别对应三个浏览器驱动forbrowser_typein[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")withpage.expect_navigation():page.press("input[name=\"wd\"]","Enter") #等待页面加载完全page.waitForSelector("text=百度热榜") #截图page.screenshot(path=f'example-{browser_type.name}.png') #休眠5ssleep(5) #关闭浏览器browser.close()

需要指出的是,playwright-python 内置的 API基本上囊括常见的自动化操作

异步

异步步的关键字为:async_playwright

结合asyncio,我们同时执行上面的操作

importasyncio fromplaywrightimportasync_playwright #异步执行asyncdefmain():asyncwithasync_playwright()asp:forbrowser_typein[p.chromium,p.firefox,p.webkit]:#指定为有头模式,方便查看browser=awaitbrowser_type.launch(headless=False)page=awaitbrowser.newPage() awaitpage.goto('http://baidu.com') #执行一次搜索操作awaitpage.fill("input[name=\"wd\"]","AirPython")awaitpage.press("input[name=\"wd\"]","Enter") #等待页面加载完全awaitpage.waitForSelector("text=百度热榜") #截图awaitpage.screenshot(path=f'example-{browser_type.name}.png') awaitbrowser.close() asyncio.get_event_loop().run_until_complete(main())

事实上,Playwright 是一个跨语言的自动化框架,支持 Python、Java、JS 等

Playwright 相比传统的自动化框架 Selenium 来说,在 Context 上下文及 API 使用上,显得更简洁且强大

到此这篇关于python+playwright微软自动化工具的使用的文章就介绍到这了,更多相关python playwright微软自动化工具内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章