今天网站关键词,在百度彻底消失,只怪太大意了,应该保守点。
言归正传,周五,某哥分析了某平台的js,发现了通过js脚本提取chromeDriver的属性和特征。
function i() {
return "$cdc_asdjflasutopfhvcZLmcfl_" in u || f.webdriver
}
解决方案:
- 其实自chrome62后,chromeDriver就有了window.webdriver这个全局属性。
解决方案就是:
在页面加载执行其他js之前,先load重置的js。
Object.defineProperty(window,"webdriver",{
value:undefined
})
当然也有破解重置的方法,这里就不说了,免得坑自己。
- "$cdc_asdjflasutopfhvcZLmcfl_" in document 的解决。因这个属性和selenium相关,不能乱重置,否则会导致查找和选择元素失效。
不靠谱的方案:
通过mitmproxy类型代理工具,修改js文件,替换文件内所有变量关键词
靠谱方案
编译chromeDriver.exe,将项目里的$cdc_asdjflasutopfhvcZLmcfl_ 字样替换成同等数量的其他字符,可以突破绝大部分被检测。
有需要的朋友可以点击 冰拓 的服务qq,友情或有偿为你编译好你需要的chromeDriver.exe版本。