首頁 > Java > java教程 > 如何透過修改「navigator.webdriver」標誌來防止 Selenium 偵測?

如何透過修改「navigator.webdriver」標誌來防止 Selenium 偵測?

Mary-Kate Olsen
發布: 2024-12-23 19:22:17
原創
283 人瀏覽過

How Can I Prevent Selenium Detection by Modifying the `navigator.webdriver` Flag?

防止Selenium 檢測:修改navigator.webdriver 標誌

嘗試使用Selenium 和Chrome 自動化任務時,某些網站可能會根據Selenium 的檢測來阻止請求-驅動的瀏覽器。一種常見的偵測方法涉及公開一個名為 navigator.webdriver 的 DOM 變量,如果瀏覽器由 Selenium 控制,則變數將傳回 true。

要規避此檢測,請考慮以下方法:

排除自動化開關

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
driver = webdriver.Chrome(options=options, executable_path=r"path/to/chromedriver.exe")
登入後複製

修改navigator.webdriver

driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
登入後複製

更改使用者代理

driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": "new_user_agent"})
登入後複製

停用閃爍功能

options.add_argument("--disable-blink-features=AutomationControlled")
登入後複製

綜合程式碼範例

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option("useAutomationExtension", False)
driver = webdriver.Chrome(options=options, executable_path=r"path/to/chromedriver.exe")
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
driver.execute_cdp_cmd("Network.setUserAgentOverride", {"userAgent": "new_user_agent"})
driver.get("https://www.example.com")
登入後複製

歷史注意事項

綜合程式碼範例

歷史注意事項 NavigatorAutomationInformation 介麵包含 navigator.webdriver 標誌,當瀏覽器由 WebDriver 控制時,此標誌傳回 true。但是,如果使用不當,更改這些參數可能會導致導航問題或偵測。

更新Selenium 的最新版本為 WebDriver 控制提供了附加功能,包括用於執行 DevTools 命令的execute_cdp_cmd() 命令。利用此指令提供了一種修改 navigator.webdriver 標誌並防止 Selenium 偵測的便捷方法。

以上是如何透過修改「navigator.webdriver」標誌來防止 Selenium 偵測?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板