ホームページ > Java > &#&チュートリアル > Java を使用して Selenium WebDriver で認証ポップアップを処理する方法

Java を使用して Selenium WebDriver で認証ポップアップを処理する方法

Susan Sarandon
リリース: 2024-12-10 02:16:09
オリジナル
594 人が閲覧しました

How to Handle Authentication Pop-ups in Selenium WebDriver Using Java?

Java を使用した Selenium WebDriver での認証ポップアップの処理

Selenium WebDriver では、認証が必要なページに移動すると、ポップアップ ウィンドウがトリガーされることがよくあります。ただし、質問で提供されているコードでは、ユーザーが正しい資格情報を入力した後でも認証ポップアップが表示されます。これはストレスを感じさせ、自動化の取り組みを妨げる可能性があります。

解決策は、Alert クラスのauthenticateUsing() メソッドを利用することです。この方法を使用すると、基本的な HTTP 認証ポップアップをバイパスし、ユーザーを自動的に認証できます。変更されたコードは次のとおりです。

import org.openqa.selenium.Alert;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.firefox.FirefoxProfile;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class EnhancedAuthenticationHandling {

    public static void main(String[] args) {
        // Set up Firefox profile to accept long username and password
        FirefoxProfile profile = new FirefoxProfile();
        profile.setPreference("network.http.phishy-userpass-length", 255);
        profile.setPreference("network.automatic-ntlm-auth.trusted-uris", "x.x.x.x");

        // Create FirefoxDriver with the modified profile
        WebDriver driver = new FirefoxDriver(profile);

        // Navigate to the protected page
        String login = "username";
        String password = "password";
        String url = "http://protectedpage.com";
        String baseUrl = "http://" + login + ":" + password + "@" + url;
        driver.get(baseUrl + "/");

        // Wait for authentication alert to appear
        WebDriverWait wait = new WebDriverWait(driver, 10);
        Alert alert = wait.until(ExpectedConditions.alertIsPresent());

        // Authenticate using the provided credentials
        alert.authenticateUsing(new UserAndPassword(login, password));
       
    }
}
ログイン後にコピー

この更新されたコードでは、正しいユーザー名とパスワードを使用して、authenticateUsing() メソッドが呼び出されます。これにより、ユーザーが自動的に認証され、ポップアップが閉じられ、ページが正常に読み込まれるようになります。

注:

  • authenticateUsing() メソッドは、次の場合にのみサポートされます。 Selenium WebDriver バージョン 3.4 以降、まだベータ版とみなされます
  • 現在、この機能は InternetExplorerDriver に対してのみ実装されています。

以上がJava を使用して Selenium WebDriver で認証ポップアップを処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート