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);

 

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