在使用Selenium实现自动化时,我一直试图绕过网站所做的主要检查。我试图绕过此链接上的所有测试:https://intoli.com/blog/not-possible-to-block-chrome-headless/chrome-headless-test.html
默认情况下,我可以绕过除webdriver测试之外的所有内容。
我尝试使用十六进制编辑器删除$ cdc_键,并在chrome网络驱动程序中将其替换为等效值,但没有任何更改。
我尝试构建.crx文件以作为chrome中的扩展名加载,并在确保加载并执行JS代码后尝试了以下操作:
document.addEventListener("DOMContentLoaded", () => {
//var script=document.createElement("script");
delete navigator['webdriver']
var obj = Object.create({});
Object.defineProperty(navigator, 'webdriver', {
get: () => false,
});
console.log(navigator.webdriver)
});
当我打开控制台时,可以看到在console.log时navigator.webdriver为false,但此后立即将其再次设置为true。
任何想法如何克服这个问题?
我对JS不太熟悉,因此,如果您可以更详细地获得答案,我将不胜感激。