关于修改window.navigator.webdriver代码失效问题

举报
诡途 发表于 2022/02/23 17:56:25 2022/02/23
【摘要】 我前面写到过sycm自动抓取店铺数据文章链接:https://blog.csdn.net/qq_35866846/article/details/103410931#comments但是这个年过完,代码突然不能用了!经过多方排查我发现:修改window.navigator.webdriver值的那句代码chrome_options.add_experimental_option('exclu...

我前面写到过sycm自动抓取店铺数据
文章链接:https://blog.csdn.net/qq_35866846/article/details/103410931#comments

但是这个年过完,代码突然不能用了!

经过多方排查我发现:修改window.navigator.webdriver值的
那句代码chrome_options.add_experimental_option('excludeSwitches',['enable-automation'])
没有生效,也就是说selenium打开的浏览器在控制台Console检测结果仍然为TRUE,正常打开的 浏览器测试值应该为undefined

最后查出来原因:是因为我的chrome自动更新了,经测试:79(含79)以后的版本该语句都会失效【测试了79,80,81,个人猜测chrome后续版本把这个配置都给屏蔽掉了】

目前的解决方法:把浏览器退回到79之前的版本

更新容易回去难啊!差点儿把电脑搞报废,最后在安全模式下把系统还原到前几天了才救回来

下面详述下退回chrome的操作:

No1. 先卸载 干净 谷歌浏览器 (注意一定要卸载干净干净,否则下载的安装包点击会没反应)
我是用软件管理卸载的
卸载完成后再执行下面两步
①先用Everything搜索C盘,把google相关的文件夹删掉(如果自己 在C盘找也行,比较慢,而且找不全,建议使用工具)。
Everything下载地址:https://www.voidtools.com/zh-cn/
②(关键)把注册表HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Google删除,可以试试删除注册表的其他google项(不过我没删貌似也没什么问题)。

No2.下载历史版本的chrome浏览器安装包,不要去官网,官网直接给你安装最新版本的
这是我找的历史版本的下载地址(实测可用):
https://www.chromedownloads.net/chrome64win/
(我下的是76的稳定版)

No3.下载对应版本的驱动,下载地址:http://npm.taobao.org/mirrors/chromedriver/

No4.到这里已经完成了,再执行之前的代码就没问题了,但是为了避免重蹈覆辙还要继续做一步——禁用chrome的自动更新,详细步骤参考以下链接(注意一定要改成禁用禁用,手动也会被更新):
https://jingyan.baidu.com/article/0aa223754076f788cc0d6492.html

【写在最后:】如果有更好的办法可以绕过某些网站检测,欢迎在评论区评论交流!
下面有两个方向,欢迎大家尝试
①使用中间代理截断并修改js返回(由于本人js技术薄弱暂未实现)
②使用pypeeter (暂未尝试成功)

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。