でプロキシ認証を処理する方法 Selenium ウェブドライバー

プロキシとは何ですか?

プロキシは、リクエストを送信するクライアントとサーバーが応答する間の仲介者として機能します。 プロキシの主な用途は、複数の対話型システム間のプライバシーとカプセル化を維持することです。

プロキシは、クライアントと Web サーバー間のファイアウォールとして機能することにより、Web 上に別のセキュリティ層を追加することもできます。 これは、クライアントが使用する Web サイトに、Web サイトのコンテンツに基づいて許可またはブロックのラベルを付ける必要がある場合に特に使用されます。

このプロセスは「コンテンツ フィルタリング」として知られており、教育機関や企業オフィスなどで最も一般的に使用されています。コンテンツ フィルタリングは、プロキシの助けを借りて簡単に実行できます。 インターネットに関して言えば、プロキシは、クライアント マシンと、応答する実際の Web サーバーまたはデータベース サーバーの間に立つ別個のサーバーとして実装できます。

SOCKS と HTTP プロキシの違い

SOCKS HTTPプロキシ
SOCKS はセキュアソケットの略です。 通常、クライアントとサーバー間のファイアウォールとして使用されます。 HTTP プロキシはクライアントとサーバー間のファイアウォールとしても使用できますが、HTTP リクエストにのみ使用できます。
SOCKS は交換されるデータを解釈しません HTTP プロキシは、クライアントとサーバー間で交換されるデータを解釈します。
パフォーマンスの点で遅い SOCKSと比較して優れたパフォーマンス

でプロキシを処理する方法 Selenium Chrome のウェブドライバー

HTTP プロキシ認証 Selenium Chromeでは以下の方法で対処できます

  • AutoIT ツールの使用
  • アラートの使用

AutoIT ツールの使用

Auto ITは、Windowsデスクトップの自動化に使用されるサードパーティツールです。 Selenium ウェブベースのポップアップとウィンドウのみを処理し、オペレーティングシステムのコントロールを処理することはできません。 Selenium.

これには、Auto IT などの外部サードパーティ ツールを統合して使用する必要があります。 Selenium。そのため、Auto IT は、Web サイトでのファイルのアップロードとファイルのダウンロードを処理するために最もよく使用されます。

AutoIT を使用するには、AutoIT ソフトウェアをダウンロードしてローカル マシンにインストールする必要があります。

AutoIT のダウンロード インストールについては、「 記事.

[プログラム] – [Autoit ツール] – [SciTE Script Editor] を開き、以下の AutoIt スクリプトを Autoit エディタに追加し、システムに「ProxyAuthentication.au3」として保存します。

ファイルをコンパイルし、「ProxyAuthentication.exe」として変換します。

In Eclipse、Auto IT ファイルを追加します。 Selenium スクリプトを作成して実行する

以下は、HTTP プロキシ認証用の AutoIT スクリプトです。

Send("guru99{ENTER}")
Send("guru99{ENTER}")

実行するには Auto IT ファイルを渡す必要があります。 Selenium 以下のコードを使用したウェブドライバー

ソースコード:

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");
    }
}

コードの説明:

  • 最初のステップでは、chromedriver.exe ファイルを指すようにシステム プロパティを設定して、Chrome ドライバーのインスタンスを初期化します。
  • XNUMX 番目のステップでは、Web ドライバーのオブジェクトを初期化し、get メソッドを使用して Web サイトの URL を渡します。
  • 最後に、AutoIT スクリプト ファイルを使用して、ユーザー名とパスワードを HTTP プロキシ認証ポップアップに渡します。

コード出力:

AutoIT を使用したユーザー名アラート処理
AutoIT を使用したユーザー名アラート処理
AutoIT を使用したパスワード アラートの処理

AutoIT を使用したパスワード アラートの処理
プロキシ認証成功画面

プロキシ認証成功画面

アラートの使用

アラートは、によって提供されるシンプルな組み込み機能です。 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();
    }
}

コード出力

プロキシ認証が正常に完了しました。

コードの説明:

  • 最初に、chromedriver.exe ファイルの場所を指すように webdriver プロパティを設定することで、Chrome ドライバーのインスタンスをインスタンス化します。
  • 次に、URL をパラメータとして driver.get() メソッドに渡して、必要な Web サイトの URL を開きます。
  • URL が開かれると、ユーザー名アラートに切り替わり、ユーザー名 – guru99 が送信されます。 次に、alert.accept メソッドを使用してアラートの [OK] ボタンをクリックします。
  • 次に、パスワード アラートに切り替えて、パスワード (guru99) を送信します。 次に、alert.accept メソッドを使用してアラートの [OK] ボタンをクリックします。

まとめ

  • プロキシは、リクエストを送信するクライアントとサーバーが応答する間の仲介者として機能します。 プロキシの基本的な使用法は、プライバシーと カプセル化 複数の対話型システム間で。
  • HTTP プロキシ認証 Selenium Chromeでは以下の方法で対処できます
  • Web サイトの URL にユーザー名とパスワードを渡す
  • AutoIT ツールの使用
  • アラートの使用
  • 上記の 3 つのアプローチのうち、アラートの使用は、HTTP プロキシ認証を処理する最も効果的な方法です。 Selenium ウェブドライバー