> Java > java지도 시간 > Java를 사용하여 Selenium WebDriver에서 인증 팝업을 처리하는 방법은 무엇입니까?

Java를 사용하여 Selenium WebDriver에서 인증 팝업을 처리하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-10 02:16:09
원래의
639명이 탐색했습니다.

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() 메소드가 올바른 사용자 이름과 비밀번호로 호출됩니다. 이는 자동으로 사용자를 인증하고 팝업을 닫아 페이지가 성공적으로 로드되도록 해야 합니다.

참고:

  • authenticUsing() 메소드는 다음에서만 지원됩니다. Selenium WebDriver 버전 3.4 이상이며 아직 베타 기능으로 간주됩니다.
  • 현재, InternetExplorerDriver에 대해서만 구현됩니다.

위 내용은 Java를 사용하여 Selenium WebDriver에서 인증 팝업을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿