Selenium 是一種流行的Web 自動化框架,在網站上實施時面臨挑戰標記Selenium 驅動的瀏覽器的檢測機制。本文旨在透過提供有效的方法來修改 navigator.webdriver 標誌,從而阻止 Selenium 的檢測來解決此類檢測問題。
新增Chrome參數:
options = webdriver.ChromeOptions() options.add_argument('--disable-blink-features=AutomationControlled') driver = webdriver.Chrome(options=options)
執行CDP指令:
driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'})
修改navigator.webdriver 屬性:
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
options.add_experimental_option("excludeSwitches", ["enable-automation"])
options.add_experimental_option('useAutomationExtension', False)
from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--disable-blink-features=AutomationControlled') options.add_experimental_option("excludeSwitches", ["enable-automation"]) options.add_experimental_option('useAutomationExtension', False) driver = webdriver.Chrome(options=options) driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})") driver.execute_cdp_cmd('Network.setUserAgentOverride', {'userAgent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.53 Safari/537.36'}) driver.get('https://www.website.com/')
將上述方法組合成一個程式碼區塊:
將上述方法組合成一個程式碼區塊:調整這些參數可能會幹擾瀏覽器導航並使 WebDriver 實例可偵測到。
更新 Selenium Python 客戶端現在支援execute_cdp_cmd方法。 增加了額外的參數以進一步改善檢測預防。 結論透過遵循這些方法,您可以有效地修改 navigator.webdriver 標誌和防止網站偵測您的 Selenium 驅動的瀏覽器。但是,請務必謹慎處理這些變更以避免被發現。以上是如何防止 Selenium Webdriver 被網站偵測到?的詳細內容。更多資訊請關注PHP中文網其他相關文章!