网站通过什么方式检测

function b() {
return "$cdc_asdjflasutopfhvcZLmcfl_"in u || d.webdriver
}
  1. 通过上方的js网站可以检测chromedriver.exe的特征码:$cdc_asdjflasutopfhvcZLmcfl_
  2. js还会检测window.navigator.webdriver这个属性,如果用selenium调用浏览器这个值会是true,手动打开浏览器这个值是false;可以通过浏览器的console输入console.log(window.navigator.webdriver)查看该属性的值

$cdc_asdjflasutopfhvcZLmcfl_ 特征码解决办法

有人说在电脑上使用notepad++打开chromedriver.exe文件搜索修改$cdc_asdjflasutopfhvcZLmcfl_这个值可以解决。不过我用notepad++打开后可能是因为编码问题,我并没有找到这个值。所以我上传到服务器上用vim编辑器做的修改,如下:

  1. 上传chromedriver.exe文件到服务器上

  2. 使用vim编辑器打开chromedriver.exe文件,并查找$cdc_asdjflasutopfhvcZLmcfl_这个值进行修改



    需要注意的是:cdc_asdjflasutopfhvcZLmcfl_这个值是多少个字符,那么你修改完之后还需要是多少个字符。

  3. 修改完之后:wq保存病退出,然后把这个文件重新下载到电脑上就行了

webdriver值为true的解决办法

方案1:设置webdriver的值为false

if __name__ == '__main__':
service = Service('chromedriver.exe')
option = webdriver.ChromeOptions()
option.add_argument('disable-infobars')
option.add_argument('sec-fetch-site=same-site')
option.add_experimental_option('excludeSwitches', ['enable-automation'])
option.add_experimental_option('useAutomationExtension', False)
option.add_experimental_option("excludeSwitches", ['enable-automation'])
option.add_argument("--disable-blink-features")
option.add_argument("--disable-blink-features=AutomationControlled")
driver = webdriver.Chrome(service=service,options=option)

使用option自定义配置chrome浏览器修改webdriver的值为false

方案2:设置webdriver的值为undefined

options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
driver = webdriver.Chrome(options=options)
driver.execute_cdp_cmd("Page.addScriptToEvaluateOnNewDocument", {
"source": """
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
})
"""
})

selenium被某些网页检测不允许正常访问、登录等,解决办法的更多相关文章

  1. WPF 在TextBox失去焦点时检测数据,出错重新获得焦点解决办法

    WPF 在TextBox失去焦点时检测数据,出错重新获得焦点解决办法 在WPF的TextBox的LostFocus事件中直接使用Focus()方法会出现死循环的问题 正确的使用方式有2中方法: 方法一 ...

  2. 所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123 解决办法

    这几天,电脑所有浏览器打开后自动打开115.29.163.152/404.html这个网页,然后自动跳转到hao123这个网页,网上查询没解决办法.开始自己找,搜索注册表,都无效,最后下载软件Hija ...

  3. IOS 中微信 网页授权报 key[也就是code]失效 解决办法

    枪魂微信平台ios手机点击返回 网页授权失败,报key失效.已经解决,原因是授权key只能使用一次,再次使用就会失效. 解决办法:第一次从菜单中进行授权时,用session记录key和open_id. ...

  4. Mac 下安装python3.7 + pip 利用 chrome + chromedriver + selenium 自动打开网页并自动点击访问指定页面

    1.安装python3.7https://www.python.org/downloads/release/python-370/选择了这个版本,直接默认下一步 2.安装pipcurl https:/ ...

  5. 【转】Selenium 报错:Element is not clickable at point的解决办法

    天一同学在写Selenium Java脚本时遇到一个问题,登录进入系统之后,要点击左侧的一个菜单,但是执行到该语句时报下面的错误: Firefox中报错如下:org.openqa.selenium.E ...

  6. 转载:selenium webdriver定位不到元素的五种原因及解决办法

    1.动态id定位不到元素for example:        //WebElement xiexin_element = driver.findElement(By.id("_mail_c ...

  7. Selenium在定位的class含有空格的复合类的解决办法整理

    1.class属性唯一但是有空格,选择空格两边唯一的哪一个 <div id="tempConfigTable" class="dtb-style-1 table-d ...

  8. selenium webdriver定位不到元素的五种原因及解决办法

    1.动态id定位不到元素 for example:        //WebElement xiexin_element = driver.findElement(By.id("_mail_ ...

  9. IE提示“Internet Explorer已限制此网页运行脚本或ActiveX控件”的解决办法

    在页面html开始标签和head开始标签中间新增一行,添加以下代码: <!-- saved from url=(0014)about:internet --> 或者 直接设置IE浏览器 工 ...

  10. 使用rem编写自适应屏幕网页造成div被span撑高的解决办法

    原始代码: <html> <head> <meta charset="utf-8"> <meta content="ie=edg ...

随机推荐

  1. uniapp小程序新版授权登录

    1.授权按钮: <view> <button class='login-btn' type='primary' @click="bindGetUserInfo"& ...

  2. OOM故障处理流程

    一.OOM机制概述 Linux 内核有个机制叫OOM killer(Out Of Memory killer),该机制会监控那些占用内存过大,尤其是瞬间占用内存很快的进程,为防止内存耗尽而自动把该进程 ...

  3. 【读书笔记】C#高级编程 第十三章 异步编程

    (一)异步编程的重要性 使用异步编程,方法调用是在后台运行(通常在线程或任务的帮助下),并不会阻塞调用线程.有3中不同的异步编程模式:异步模式.基于事件的异步模式和新增加的基于任务的异步模式(TAP, ...

  4. 全能成熟稳定开源分布式存储Ceph破冰之旅-上

    @ 目录 概述 定义 传统存储方式及问题 优势 生产遇到问题 架构 总体架构 组成部分 CRUSH算法 数据读写过程 CLUSTER MAP 部署 部署建议 部署版本 部署方式 Cephadm部署 前 ...

  5. AVL Tree (1) - Definition, find and Rotation

    1. 定义 (15-1) [AVL tree]: 一棵空二叉树是 AVL tree; 若 T 是一棵非空二叉树, 则 T 满足以下两个条件时, T 是一棵 AVL tree: T_LeftSubtre ...

  6. 干货分享|使用 Istio 实现灰度发布

    Kubernetes 作为基础平台,提供了强大的容器编排能力.但是在其上部署业务和服务治理上,仍然会面对一些复杂性和局限性.在服务治理上,已经有许多成熟的 ServiceMesh 框架用于扩充其能力, ...

  7. Django 目录

    1 Python Web开发主流框架 2 Django 简介和版本介绍 3 Django 使用cmd 创建工程 4 Django 创建 APP和目录结构介绍 5 Django 使用VScode 创建工 ...

  8. 在 AlertManager 报警通知中展示监控图表

    原文档地址:https://mp.weixin.qq.com/s/Wcp7ltEbnHpUlbaF9JDgZg 去绘制渲染报警图表,然后上传到对象存储中保存起来,在钉钉中就可以直接展示了,Promot ...

  9. Elasticsearch:Dynamic mapping

    Elasticsearch最重要的功能之一是它试图摆脱你的方式,让你尽快开始探索你的数据. 要索引文档,您不必首先创建索引,定义映射类型和定义字段 - 您只需索引文档,那么index,type和fie ...

  10. 查询nginx访问日志中访问次数最多的前10个IP地址

    cat log | cut -d ' ' -f 1 | sort | uniq -c | sort -nr | awk '{print $0}' | head -n 10