阅读 93

爬虫--使用selenium时navigator.webdriver被检测反爬了

可直接看解决办法3

解决办法1:

browser = webdriver.Chrome()
url = https://login.taobao.com/member/login.jhtml?redirectURL=https://www.taobao.com/
# url = ‘https://mms.pinduoduo.com/login?redirectUrl=https://mms.pinduoduo.com/orders/list‘
browser.get(url)
script = ‘Object.defineProperties(navigator, {webdriver: {get: () => false,}});‘
browser.execute_script(script)

此方法可以解决taobao的检测,但是逃不了pinduoduo的检查。

解决办法2:

option = webdriver.ChromeOptions()
option.add_experimental_option(‘excludeSwitches‘, [‘enable-automation‘])
browser = webdriver.Chrome(options=option)
url = https://login.taobao.com/member/login.jhtml?redirectURL=https://www.taobao.com/
# url = ‘https://mms.pinduoduo.com/login?redirectUrl=https://mms.pinduoduo.com/orders/list‘
browser.get(url)

此方法都两个网站都通不过,具体原因参考:

文章说是:(我没有验证过文章说的原因是否正确)

ChromeDriver 79.0.3945.36到目前的这些版本(如果不是在无头模式下)就无法通过修改启动配置来达成我们的目的
要想正常使用,得把把Chrome回滚一个版本,并找到对应的ChromeDriver版本。

解决办法3:原文:

browser = webdriver.Chrome()
browser.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": """
    Object.defineProperty(navigator, ‘webdriver‘, {
      get: () => false
    })
  """
})
url = https://login.taobao.com/member/login.jhtml?redirectURL=https://www.taobao.com/
# url = ‘https://mms.pinduoduo.com/login?redirectUrl=https://mms.pinduoduo.com/orders/list‘
browser.get(url)

这种方式可解决两个网站的webdriver检测反爬

 

原文:https://www.cnblogs.com/yarightok/p/14988047.html

文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐