Selenium Chrome Java 解决 window.navigator.webdriver

Google Chrome 版本:92.0.4515.107(正式版本) (64 位)

驱动版本:chromedriver_win32(92.0.4515.107)

Selenium-java 版本:3.141.59

描述:许多网站会根据浏览器 window.navigator.webdriver 的值判断是否属于爬虫行为并进行行为封禁,但是在默认配置下,window.navigator.webdriver 的值为 true,得修改为 false 或者 undefined 才能过检测,当前这里使用的方法是 v88 以后的版本方式。

  • 设置 window.navigator.webdriver 为 false;
  • 移除浏览器顶部”正受到自动测试软件的控制“;
ChromeOptions options = new ChromeOptions();
System.setProperty("webdriver.chrome.driver",drivenpath+"chromedriver.exe");

// 版本:旧版本 设置window.navigator.webdriver为false,新版本中使用会导致浏览器无法启动
options.setExperimentalOption("dom.webdriver.enabled", false);

// 版本:v88以上 设置window.navigator.webdriver为false
options.addArguments("--disable-blink-features=AutomationControlled");

// 移除 控制文字
options.setExperimentalOption("useAutomationExtension", false);
options.setExperimentalOption("excludeSwitches", Collections.singletonList("enable-automation"));

WebDriver webDriver = new ChromeDriver(options);

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章