でプロキシ認証を処理する方法 Selenium ウェブドライバー
⚡ スマートサマリー
プロキシ認証 Selenium WebDriverは、ブラウザがセキュアなプロキシサーバー経由で接続する際に表示される認証情報ポップアップを処理します。 Selenium ネイティブダイアログを直接操作することはできませんが、AutoItツールと組み込みアラートを使用する2つの方法があります。
プロキシとは何ですか?
プロキシは、リクエストを送信するクライアントとサーバーが応答する間の仲介者として機能します。 プロキシの主な用途は、複数の対話型システム間のプライバシーとカプセル化を維持することです。
プロキシは、クライアントと Web サーバー間のファイアウォールとして機能することにより、Web 上に別のセキュリティ層を追加することもできます。 これは、クライアントが使用する Web サイトに、Web サイトのコンテンツに基づいて許可またはブロックのラベルを付ける必要がある場合に特に使用されます。
このプロセスは「コンテンツ フィルタリング」として知られており、教育機関や企業オフィスなどで最も一般的に使用されています。コンテンツ フィルタリングは、プロキシの助けを借りて簡単に実行できます。 インターネットに関して言えば、プロキシは、クライアント マシンと、応答する実際の Web サーバーまたはデータベース サーバーの間に立つ別個のサーバーとして実装できます。
SOCKS と HTTP プロキシの違い
| SOCKS | HTTPプロキシ |
|---|---|
| SOCKS はセキュアソケットの略です。 通常、クライアントとサーバー間のファイアウォールとして使用されます。 | HTTP プロキシはクライアントとサーバー間のファイアウォールとしても使用できますが、HTTP リクエストにのみ使用できます。 |
| SOCKS は交換されるデータを解釈しません | HTTP プロキシは、クライアントとサーバー間で交換されるデータを解釈します。 |
| パフォーマンスの点で遅い | SOCKSと比較して優れたパフォーマンス |
でプロキシを処理する方法 Selenium Chrome のウェブドライバー
HTTP プロキシ認証 Selenium Chromeでは以下の方法で対処できます
- AutoItツールを使用する
- アラートの使用
AutoItツールを使用する
AutoItは、Windowsデスクトップの自動化に使用されるサードパーティ製ツールです。 Selenium ウェブベースのポップアップとウィンドウのみを処理し、オペレーティングシステムのコントロールを処理することはできません。 Selenium.
これには、AutoItなどの外部サードパーティツールを統合する必要があります Seleniumそのため、AutoItはウェブサイト上でのファイルアップロードやファイルダウンロードの処理に最も一般的に使用されています。
AutoItを使用するには、AutoItソフトウェアをローカルマシンにダウンロードしてインストールする必要があります。
AutoItのダウンロードとインストールについては、 記事.
[プログラム] – [Autoit ツール] – [SciTE Script Editor] を開き、以下の AutoIt スクリプトを Autoit エディタに追加し、システムに「ProxyAuthentication.au3」として保存します。
ファイルをコンパイルし、「ProxyAuthentication.exe」として変換します。
In EclipseAutoIt ファイルを追加して Selenium スクリプトを作成して実行する
以下はHTTPプロキシ認証用のAutoItスクリプトです。
Send("guru99{ENTER}") Send("guru99{ENTER}")
AutoIt ファイルを渡す必要があります。 Selenium 以下のコードを使用したウェブドライバー
ソース Code:
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AutoItDemo { public static void main(String[] args) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\ chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); //Passing the AutoIt Script to Selenium Runtime.getRuntime().exec("D:\\Data_Personal\\ProxyAuthentication.exe"); } }
Code 説明:
- 最初のステップでは、chromedriver.exe ファイルを指すようにシステム プロパティを設定して、Chrome ドライバーのインスタンスを初期化します。
- 2番目のステップでは、WebDriverのオブジェクトを初期化し、Webサイトを渡します。 URL getメソッドを使用する
- 最後に、AutoItスクリプトファイルを使用して、ユーザー名とパスワードをHTTPプロキシ認証ポップアップに渡します。
Code 出力:

アラートの使用
アラートは、によって提供されるシンプルな組み込み機能です。 Selenium ウェブドライバー。次を使用してプロキシ認証ポップアップを処理できます。 Selenium Web ドライバーを使用するには、HTTP プロキシ認証アラートに切り替え、ユーザー名とパスワードをアラートに直接渡します。キー送信メソッドを使用します。
例::
テストシナリオ:
Web サイト上の HTTP プロキシ認証ポップアップを処理します。 https://demo.guru99.com/test/basic_auth.php でのアラートの使用 Selenium ウェブドライバー。
ソースコードの例:
package Guru99Demo; import java.io.IOException; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class AlertsDemo { public static void main(String args[]) throws IOException { System.setProperty("webdriver.chrome.driver", "D:\\Data_Personal\\Software\\chromedriver_win32\\chromedriver.exe");; WebDriver driver = new ChromeDriver(); driver.get("https://demo.guru99.com/test/basic_auth.php"); // Handling Username alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); // Handling Password alert driver.switchTo().alert().sendKeys("guru99"); driver.switchTo().alert().accept(); } }
Code 出力
プロキシ認証が正常に完了しました。
Code 説明:
- 最初に、chromedriver.exe ファイルの場所を指すように webdriver プロパティを設定することで、Chrome ドライバーのインスタンスをインスタンス化します。
- 次に、 URL 必要なウェブサイトを通過することで URL driver.get() メソッドのパラメータとして
- Once URL アラートが開かれ、ユーザー名アラートに切り替えてユーザー名「guru99」を送信します。次に、alert.accept メソッドを使用してアラートの OK ボタンをクリックします。
- 次に、パスワード アラートに切り替えて、パスワード (guru99) を送信します。 次に、alert.accept メソッドを使用してアラートの [OK] ボタンをクリックします。

