阿里验证码跳过谷歌selenium监测

原因:

selenium在运行会出现一些预定义的javascript变量(特征字符串),例如:"window.navgator,webdriver",在非selenium变量下的值为undefined,但是在selenium环境下,其职为true,不同的属性可以参考:https://blog.csdn.net/qq_24137739/article/details/93190558,阿里滑动验证码就是基于selenium这些特征来进行评比管泽的。

解决方法1:

webdriver_obj = webdriver.Chrome('pools/chromedriver.exe')
webdriver_obj.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
    "source": '''
    Object.defineProperty(navigator, 'webdriver', {
      get: () => undefined
    })
  '''
})

解决方法2:

1.打开cmd进入Chrome安装目录,执行
chrome.exe --remote-debugging-port=9222 --user-data-dir="C:\selenum\AutomationProfile"
2 代码实现

from selenium import webdriver
from selenium.webdriver.chrome.options import Options
 
chrome_options = Options()
chrome_options.add_experimental_option("debuggerAddress", "127.0.0.1:9222")
chrome_driver = "C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe"
driver = webdriver.Chrome(chrome_driver, chrome_options=chrome_options)
posted @ 2020-11-30 17:05  Dog.泰迪  阅读(388)  评论(0编辑  收藏  举报