QAQbenben 发表于 2023-11-15 17:22

绕过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)





zg2600 发表于 2023-11-15 18:08

建议弄成代码, 图片不太友好

czy8792002 发表于 2023-11-15 19:57


感谢您的分享

Kalitec 发表于 2023-11-15 20:29

哇,这个好啊,感谢分享!

moruye 发表于 2023-11-15 21:04

爱生活爱分享 发表于 2023-11-17 00:50

谢谢分享
页: [1]
查看完整版本: 绕过selenium检测重新封装谷歌自动化工具