Selenium Webdriver が Web サイトによって検出されないようにするにはどうすればよいですか?
Selenium Webdriver: navigator.webdriver フラグの変更による検出の防止
はじめに
人気のある Web 自動化フレームワークである Selenium は、Web サイトでの実装時に課題に直面していますSelenium 駆動のブラウザにフラグを立てる検出メカニズム。この記事は、navigator.webdriver フラグを変更して Selenium の検出を防ぐ効果的な方法を提供することで、このような検出の問題に対処することを目的としています。
アプローチ
-
Chrome を追加する引数:
- --disable-blink-features=AutomationControlled は、自動化検出機能を無効にします。
options = webdriver.ChromeOptions() options.add_argument('--disable-blink-features=AutomationControlled') driver = webdriver.Chrome(options=options)
ログイン後にコピー -
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'})
ログイン後にコピー -
navigator.webdriver プロパティの変更:
- navigator.webdriver のプロパティ値を次のように変更します。未定義。
driver.execute_script("Object.defineProperty(navigator, 'webdriver', {get: () => undefined})")
ログイン後にコピー -
Exclude Automation Switches:
- オートメーション関連の収集を防ぐために excludeSwitches を追加します。
options.add_experimental_option("excludeSwitches", ["enable-automation"])
ログイン後にコピー -
オートメーション拡張機能を無効にする:
- さらに削減するには、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 サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック







