인기 있는 웹 자동화 프레임워크인 Selenium은 웹사이트 구현 시 문제에 직면합니다. 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/')
navigator.webdriver 플래그는 W3C에서 다음과 같이 정의됩니다. 사용자 에이전트가 원격 제어하에 있음을 나타내는 방법입니다.
이 매개변수를 조정하면 브라우저 탐색을 방해하고 WebDriver 인스턴스를 감지할 수 있게 만들 수 있습니다.
이러한 방법을 따르면 navigator.webdriver 플래그를 효과적으로 수정할 수 있으며 웹사이트가 Selenium 기반 브라우저를 감지하지 못하도록 방지합니다. 그러나 이러한 변경 사항은 감지되지 않도록 주의해서 처리하는 것이 중요합니다.
위 내용은 웹사이트에서 Selenium Webdriver가 감지되는 것을 어떻게 방지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!