当前位置: 首页 > 后端技术 > Python

如果你不知道如何学习Python,你不知道吗?微软最强大的Python自动化工具开源!无需编写一行代码!!!

时间:2023-03-25 19:57:26 Python

1。前言近期,微软开源了一个非常强大的Python自动化依赖库:playwright-python,支持主流浏览器,包括:Chrome、Firefox、Safari、MicrosoftEdge等。在head模式和head模式下运行playwright-python提供了两者的同步以及异步API,可与Pytest测试框架结合使用,同时支持浏览器端自动化脚本录制。项目地址:https://github.com/microsoft/...2、在实战之前,我们只需要2个步骤。第一步,安装playwright-python依赖库#安装依赖库pip3installplaywright第二步,安装主流浏览器驱动,Chromeium、Firefox、Webkit浏览器驱动会在本地下载#安装浏览器驱动python-mplaywrightinstall3。实战3-1录制脚本先看一下录制脚本的命令说明·python-mplaywrightcodegen录制脚本·--help帮助文档·-o脚本目录自动生成·--目标脚本语言,包括JS和Python,对应的值为:python和javascript·-b指定浏览器驱动例如#我们使用下面的命令打开Chrome浏览器,开始录制脚本#指定生成的语言为:Python(默认Python,可选)#保存filename:1.py(optional)#Browserdriver:webkit(defaultwebkit,Optional)#最后按照要打开的目标网站(默认只打开浏览器,可选)python-mplaywrightcodegen--targetpython-o1.py-bwebkithttps://www.baidu.com然后,模拟在浏览器搜索一次的操作,然后关闭浏览器**推荐:020持续更新,精品圈每天都有新内容和d的浓度ry货极高。建立联系,讨论技术,你想要的都在这里!成为第一个加入团队并超越同行的人!(入群不收费)点此与Python开发高手交流学习。群号:745895701免费申请:Python软件安装包,免费提供Python实用教程资料,包括Python基础学习、进阶学习、爬虫、人工智能、自动化运维、自动化测试等。**最后自动化脚本会自动生成,保存到文件fromplaywrightimportsync_playwrightdefrun(playwright):browser=playwright.webkit.launch(headless=False)context=browser.newContext#Opennewpagepage=context.newPage#Gotohttps://www.baidu.com/page.goto("https://www.baidu.com/")#填写input[name="wd"]page.fill("input[name="wd"]","AirPython")#PressEnter#withpage.expect_navigation(url="https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=AirPython&fenlei=256&rsv_pq=a1739d870005eec3&rsv_t=e640wwS33ra1Koivxvy1WyTxyknRwnllWiw4JBqIYd/KUN/WKpWLtL2b2+0&rqlang=cn&rsv_enter=1&rsv_dl=tb&rsv_sug3=21&rsv_sug1=18&rsv_sug7=100&rsv_sug2=0&rsv_btype=i&inputT=6199&rsv_sug4=6199"):withpage.expect_navigation:page.press("input[name="wd"]","Closepage").close#--------------------续ext.closebrowser.closewithsync_playwrightasplaywright:run(playwright)3-2同步同步的关键字是:sync_playwright比如我们依次通过三个浏览器内核打开浏览器,然后百度,然后搜索界面取一个截图,最后关闭浏览器fromtimeimportsleepfromplaywrightimportsync_playwright#注:默认是headlessmodewithsync_playwrightasp:#对应三个浏览器驱动forbrowser_typein[p.chromium,p.firefox,p.webkit]:#指定为无头模式,方便查看browser=browser_type.launch(headless=False)page=browser.newPagepage.goto(http://baidu.com)#执行搜索操作page.fill("input[name="wd"]","AirPython")withpage.expect_navigation:page.press("input[name="wd"]","Enter")#等待页面加载完成page.waitForSelector("text=百度热搜List")#截图page.screenshot(path=fexample-{browser_type.name}.png)#休眠5ssleep(5)#关闭the浏览器browser.close需要指出的是playwright-python内置的API是常见的自动化操作的基础3-3asynchronous和asynchronous关键字是:async_playwright结合asyncio,我们同时执行上述操作importasynciofromplaywrightimportasync_playwright#异步执行asyncdefmain:asyncwithasync_playwrightasp:forbrowser_typein[p.chromium,p.火狐浏览器.webkit]:#指定为无头模式,方便查看browser=awaitbrowser_type.launch(headless=False)page=awaitbrowser.newPageawaitpage.goto(http://baidu.com)#执行搜索操作awaitpage.fill("input[name="wd"]","AirPython")awaitpage.press("input[name="wd"]","Enter")#等待页面完全加载awaitpage.waitForSelector("text=百度热榜")#screenshotawaitpage.screenshot(path=fexample-{browser_type.name}.png)awaitbrowser.closeasyncio.get_event_loop.run_until_complete(main)4.Playwright其实是一个跨语言的自动化框架,支持Python、Java、JS等多种Playwright,相比传统的自动化框架Selenium,在上下文和API使用上更加简洁和强大