ホームページ >Java >&#&チュートリアル >Chrome の「navigator.webdriver」フラグを変更して Selenium の検出を防ぐにはどうすればよいですか?
Chrome での Selenium の検出を防ぐために navigator.webdriver フラグを変更する
WebDriver 主導の自動化は、Web サイトで制御されているものを識別する手段を採用しているため、検出されることがよくあります。ブラウザ。この検出を防ぐために、Selenium は Chrome の navigator.webdriver フラグを変更する方法を提供します。
1。 execute_cdp_cmd() 更新
execute_cdp_cmd() の導入により、Selenium を使用して Google Chrome DevTools コマンドを実行できるようになります。これにより、navigator.webdriver フラグを簡単に変更できるようになります。
2. Selenium の検出の防止
Selenium の検出を防止するには、次のアプローチを検討してください。
3.サンプル コード
これらのメソッドを組み合わせると、効果的な Selenium コード スニペットは次のようになります。
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'C:\WebDrivers\chromedriver.exe') 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'}) print(driver.execute_script("return navigator.userAgent;")) driver.get('https://www.httpbin.org/headers')
4.背景と注意
W3C 編集者の草案によれば、navigator.webdriver フラグはユーザー エージェントのリモート制御を示します。これらのパラメータを変更すると、ナビゲーションがブロックされ、WebDriver インスタンスが強調表示される可能性があるため、注意が必要です。
以上がChrome の「navigator.webdriver」フラグを変更して Selenium の検出を防ぐにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。