目次
Selenium Webdriver: navigator.webdriver フラグの変更による検出の防止
はじめに
アプローチ
サンプル コード
歴史的コンテキスト
注意
更新
結論
ホームページ Java &#&チュートリアル Selenium Webdriver が Web サイトによって検出されないようにするにはどうすればよいですか?

Selenium Webdriver が Web サイトによって検出されないようにするにはどうすればよいですか?

Dec 30, 2024 pm 05:48 PM

How Can I Prevent Selenium Webdriver from Being Detected by Websites?

Selenium Webdriver: navigator.webdriver フラグの変更による検出の防止

はじめに

人気のある Web 自動化フレームワークである Selenium は、Web サイトでの実装時に課題に直面していますSelenium 駆動のブラウザにフラグを立てる検出メカニズム。この記事は、navigator.webdriver フラグを変更して Selenium の検出を防ぐ効果的な方法を提供することで、このような検出の問題に対処することを目的としています。

アプローチ

  1. Chrome を追加する引数:

    • --disable-blink-features=AutomationControlled は、自動化検出機能を無効にします。
    options = webdriver.ChromeOptions()
    options.add_argument('--disable-blink-features=AutomationControlled')
    driver = webdriver.Chrome(options=options)
    ログイン後にコピー
  2. CDPの実行コマンド:

    • execute_cdp_cmd を使用すると、ブラウザの Chrome DevTools Protocol (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'})
    ログイン後にコピー
  3. navigator.webdriver プロパティの変更:

    • navigator.webdriver のプロパティ値を次のように変更します。未定義。
    driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
    ログイン後にコピー
  4. Exclude Automation Switches:

    • オートメーション関連の収集を防ぐために excludeSwitches を追加します。
    options.add_experimental_option("excludeSwitches", ["enable-automation"])
    ログイン後にコピー
  5. オートメーション拡張機能を無効にする:

    • さらに削減するには、useAutomationExtension オプションをオフにします。
    options.add_experimental_option('useAutomationExtension', False)
    ログイン後にコピー

サンプル コード

上記のメソッドを 1 つのコード ブロックに結合します:

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 インスタンスが検出可能になる可能性があります。

更新

  • Selenium Python クライアントは、execute_cdp_cmd をサポートするようになりました。
  • 検出防止をさらに強化するためにパラメータが追加されました。

結論

これらのメソッドに従うことで、navigator.webdriver フラグとWeb サイトが Selenium 駆動のブラウザを検出しないようにします。ただし、検出を避けるために、これらの変更を慎重に扱うことが重要です。

以上がSelenium Webdriver が Web サイトによって検出されないようにするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)