最近接手了一个数据挖掘的任务,有大量过程重复的浏览器点击操作,不胜其烦。于是就在考虑通过浏览器自动化脚本来完成。最开始尝试用selenium来实现,摸索了一会儿初步实现了目标网页的登录操作,但是涉及到里面元素的解析和自动化工具相关api的使用,就难到我这个不太懂前端的人了。
后来同事帮我找了一个神奇的工具playwright,可以自动生成相关浏览器动作的python代码,使得这一问题得以高效解决,实现了自动登录、选择标签、设置条件、自动翻页、创建任务等,从而达到了高效批量处理的目的,整个过程非常丝滑,解放了双手,当时还是挺兴奋的。下面就简单记录一下playwright的使用过程:
playwright是微软开发的一个浏览器自动化框架,简直是太好用了。更多详细介绍以及API使用说明请参考:
Playwright for Python
以下用力扣网站做一个简单示例:
安装playwright和框架内置浏览器
终端内运行以下代码,就会打开浏览器,并在另一个窗口生成在浏览器上的动作对应的python代码。codegen后面接着网址,-b指定浏览器类型。
这个框架生成的代码在大部分行是可以用的,但对于某些元素它会根据元素id进行直接定位,但由于网站某些元素id可能一直变化,导致脚本再次运行后不能匹配到正确元素,浏览器动作停止,这时候可能需要换其它方式进行匹配。
比如,利用目标元素与其它元素的相对位置关系、匹配包含的text等进行定位。比如我当时用下面这行代码替换了原来失败的id定位方式,才让代码自动化跑起来:
本人不是做前端的,第一次尝试浏览器自动化,但这种效率提升的感觉真的非常爽,也给了我一点启示。有时也不要只是埋头苦干,应该多学习,适时对自己的工作进行反思,思考一下哪些是每天重复劳动但可以提升效率的地方。
你好,我是七昂,致力于分享C++、操作系统、软件架构、机器学习、效率提升等系列文章。希望我们能一起探索程序员修炼之道,高效学习、高效工作。如果我的创作内容对您有帮助,请点赞关注。如果有问题,欢迎随时与我交流。感谢你的阅读。
温馨提示:内容为网友见解,仅供参考