> Java > java지도 시간 > `navigator.webdriver` 플래그를 수정하여 셀레늄 감지를 방지하려면 어떻게 해야 합니까?

`navigator.webdriver` 플래그를 수정하여 셀레늄 감지를 방지하려면 어떻게 해야 합니까?

Mary-Kate Olsen
풀어 주다: 2024-12-23 19:22:17
원래의
236명이 탐색했습니다.

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

Selenium 감지 방지: navigator.webdriver 플래그 수정

Selenium 및 Chrome을 사용하여 작업을 자동화하려고 할 때 특정 웹사이트에서 Selenium 감지에 따라 요청을 차단할 수 있습니다. - 기반 브라우저. 일반적인 감지 방법 중 하나는 브라우저가 Selenium으로 제어되는 경우 true를 반환하는 navigator.webdriver라는 DOM 변수를 노출하는 것입니다.

이 감지를 우회하려면 다음 접근 방식을 고려하세요.

자동화 제외 스위치

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 인터페이스에는 브라우저가 WebDriver에 의해 제어될 때 true를 반환하는 navigator.webdriver 플래그가 포함되어 있습니다. 그러나 이러한 매개변수를 변경하면 부적절하게 사용할 경우 탐색 문제나 감지가 발생할 수 있습니다.

업데이트

Selenium의 최신 버전은 DevTools 명령 실행을 위한 run_cdp_cmd() 명령을 포함하여 WebDriver 제어를 위한 추가 기능을 제공합니다. 이 명령을 활용하면 navigator.webdriver 플래그를 수정하고 Selenium 감지를 방지하는 편리한 방법이 제공됩니다.

위 내용은 `navigator.webdriver` 플래그를 수정하여 셀레늄 감지를 방지하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿