Selenium, ein beliebtes Web-Automatisierungs-Framework, steht bei der Implementierung von Websites vor Herausforderungen Erkennungsmechanismen, die Selenium-gesteuerte Browser kennzeichnen. Dieser Artikel zielt darauf ab, solche Erkennungsprobleme zu beheben, indem er effektive Methoden zum Ändern des navigator.webdriver-Flags bereitstellt und so die Erkennung von Selenium verhindert.
Chrome-Argumente hinzufügen :
options = webdriver.ChromeOptions() options.add_argument('--disable-blink-features=AutomationControlled') driver = webdriver.Chrome(options=options)
CDP-Befehl ausführen:
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-Eigenschaft ändern:
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
Automatisierungsschalter ausschließen:
options.add_experimental_option("excludeSwitches", ["enable-automation"])
Automatisierungserweiterung deaktivieren:
options.add_experimental_option('useAutomationExtension', False)
Kombination der oben genannten Methoden in einem einzigen Codeblock:
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/')
Das Flag navigator.webdriver wird vom W3C definiert, um dies anzuzeigen Ein Benutzeragent wird ferngesteuert.
Das Optimieren dieser Parameter kann zu Störungen führen mit der Browsernavigation und machen die WebDriver-Instanz erkennbar.
Durch die Befolgung dieser Methoden, Sie können das Flag navigator.webdriver effektiv ändern und verhindern, dass Websites Ihren Selenium-gesteuerten Browser erkennen. Es ist jedoch wichtig, mit diesen Änderungen vorsichtig umzugehen, um einer Entdeckung zu entgehen.
Das obige ist der detaillierte Inhalt vonWie kann ich verhindern, dass Selenium Webdriver von Websites erkannt wird?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!