当前位置: 首页 > news >正文

生活馆网站开发背景迁西网站开发

生活馆网站开发背景,迁西网站开发,网站的数据库丢失,html做调查问卷网站背景 最近在使用selenium自动播放学习课程,相信大家也有一些类似的使用场景。 能自动化的事情,绝不自己干。 为防止被检测是机器人做题,刷视频,需要做一些小调整。 先来看作为服务方维护者,是如何检测是Selenium打…

背景

最近在使用selenium自动播放学习课程,相信大家也有一些类似的使用场景。

能自动化的事情,绝不自己干。

为防止被检测是机器人做题,刷视频,需要做一些小调整。

先来看作为服务方维护者,是如何检测是Selenium打开的浏览器,而非一般的活跃用户打开的浏览器。

测试环境

本文的测试环境如下:

Google Chrome 浏览器版本:版本 125.0.6422.77(正式版本) (64 位)

ChromeDriver版本:Chrome for Testing availability

如何检测是否是Selenium打开的浏览器页面

window.navigator.webdriver

直接的方式就是检测navigator的值。如果是selenium打开的web浏览器,则此值为true,或者为false,捉着undefined

 Selenium Page缓存

selenium自身再页面上的缓存有如下特征。

 可以用如下代码检测

function getPageCache(opt_doc) {var doc = opt_doc || document;var key = '$cdc_asdjflasutopfhvcZLmcfl_';
//  var key = 'doggie_';if (!(key in doc))doc[key] = new Cache();return doc[key];
}

如下是一些自动化测试常有的特征检测

runBotDetection = function () {var documentDetectionKeys = ["__webdriver_evaluate","__selenium_evaluate","__webdriver_script_function","__webdriver_script_func","__webdriver_script_fn","__fxdriver_evaluate","__driver_unwrapped","__webdriver_unwrapped","__driver_evaluate","__selenium_unwrapped","__fxdriver_unwrapped",];var windowDetectionKeys = ["_phantom","__nightmare","_selenium","callPhantom","callSelenium","_Selenium_IDE_Recorder",];for (const windowDetectionKey in windowDetectionKeys) {const windowDetectionKeyValue = windowDetectionKeys[windowDetectionKey];if (window[windowDetectionKeyValue]) {return true;}};for (const documentDetectionKey in documentDetectionKeys) {const documentDetectionKeyValue = documentDetectionKeys[documentDetectionKey];if (window['document'][documentDetectionKeyValue]) {return true;}};for (const documentKey in window['document']) {if (documentKey.match(/\$[a-z]dc_/) && window['document'][documentKey]['cache_']) {return true;}}if (window['external'] && window['external'].toString() && (window['external'].toString()['indexOf']('Sequentum') != -1)) return true;if (window['document']['documentElement']['getAttribute']('selenium')) return true;if (window['document']['documentElement']['getAttribute']('webdriver')) return true;if (window['document']['documentElement']['getAttribute']('driver')) return true;return false;
};

去除Selenium特征

去除window.navigator.webdriver

ChromeOptions options = new ChromeOptions();
options.addArguments("--remote-allow-origins=*");
// 移除chrome selenium 特征,window.navigator.webdriver
// chrome 125
options.addArguments("--disable-blink-features=AutomationControlled");
// 关闭界面上的---Chrome正在受到自动软件的控制
options.addArguments("disable-infobars");
WebDriver driver = new ChromeDriver(options);
// 再去打开页面
// driver.get("https://xxxxx.xx.xx.xx")

修改ChromeDriver特征

修改ChromeDriver特征,要么修改源码,再重新编译,要么直接修改二进制代码。本文选择直接修改二进制代码的方式,比较简单。

下载VIM

download : vim online

修改ChromeDriver可执行文件内容,修改之前记得备份下chromedriver.exe

vim.exe chromedriver.exe

将cdc_开头的都替换成你想要的,比如这边我是替换成了doggie 

替换完成保存

%s/cdc_/doggie_/g

当然还有一些伪装自己是活人的办法:

不再深入,后续有机会再玩。

参考文档

https://www.zenrows.com/blog/selenium-avoid-bot-detection#remove-javascript-signiture

https://datadome.co/threat-research/detecting-selenium-chrome/

http://www.yayakq.cn/news/617203/

相关文章:

  • 做网站用到哪些软件网站平台建设步骤
  • 图书馆网站建设情况说明代写网站
  • 做娱乐新闻的网站有哪些定制戒指
  • 承德网站建设作用wordpress 咨询插件
  • 网站改版 重定向服务企业网站建设的IT
  • 网站域名备案代理搜索引擎排名优化是什么意思
  • 旅行网站开发需求说明书长沙网站建设q.479185700強
  • 石家庄外贸建站公司WordPress移植emlog
  • 浦东做网站网站建设 栏目管理
  • 假链接制作网站南昌百度网站快速排名
  • 潍坊建网站的网站快速收录工具
  • 做茶评的网站网页页面设计叫什么
  • 惠州惠阳网站建设开发网站 公司
  • dedecms wap网站模板下载网站托管免费
  • 上海知名建站公司西安网站建设求职简历
  • 企业信息公共服务平台官网seo推广方案怎么做
  • 网站设计常见问题怎么样让公司网站
  • 怎么快速做网站文章网站建设如何
  • 保定网站建设价格免费网站推广文章
  • 阿里巴巴官网首页1688电商网站seo方案
  • 网站建设人员职责分布公司不需要做网站了
  • 网站开发简单wordpress 下载页面模板怎么用
  • 有口碑的网站建设公司江西南昌网站建设服务
  • 房产集团网站建设网站免费申请建站
  • 杭州企业网站设计微信公众号后天网站开发
  • 厦门网站建设及维护怎么做网站需求分析
  • 加强门户网站建设与管理办法95资料库
  • 网站统计关键词中国外包加工网
  • 网站快速排名技巧网页设计与实训布置课堂作业
  • 网站开发项目设计文档php网站开发实用技术课后习题