阿里验证码跳过谷歌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 @   Dog.泰迪  阅读(398)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示