绕过selenium检测重新封装谷歌自动化工具
因为工作需要经常使用selenium做一些流程自动化的脚本程序但是发现有很多网站对selenium+chromedriver有检测。
通过查看谷歌源码发现可以使用谷歌的Chrome DevTools Protocol (CDP) (cdp协议)而且可以捕获拦截请求 减少被检测的几率 现在市面上大部分都是检测selenium+chromedriver
此贴记录一下自己按照selenium的语法封装pychrome
准备前工作
确定自己的谷歌浏览器的路径
运行谷歌开启的端口号
是否使用代{过}{滤}理IP启动谷歌
1. 首先pychrome只能命令行启动谷歌 平且把开启一个端口,我们通过这个端口和谷歌做交互
通过命令行启动的注意事项
①pychromep启动的谷歌不支持的最大化 我们是在谷歌的启动参数中加上窗口大小
②因为启动谷歌浏览器会让选择用户目录 为了防止有谷歌初始的弹窗 这里每启动谷歌一次就默认清空用户数据(强烈建议使用的新的路径设置用户数据不然无法请求127.0.0.1:9222端口)
2.开始创建pychrome
①brower是浏览器的对象,tab是标签页对象
②创建方法
chrome_path = os.path.join(r'C:\Users\xxx\AppData\Local\Google\Chrome\Application\chrome.exe'.replace("xxx", getpass.getuser()))
driver, tab= Driver(chrome_path)
跳转百度
tab.Page.navigate(url='https://www.baidu.com/', _timeout=20)
tab.wait(10)
tab.stop()
browser.close_tab(tab)
建议弄成代码, 图片不太友好
感谢您的分享 哇,这个好啊,感谢分享! 谢谢分享
页:
[1]