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() 메소드가 올바른 사용자 이름과 비밀번호로 호출됩니다. 이는 자동으로 사용자를 인증하고 팝업을 닫아 페이지가 성공적으로 로드되도록 해야 합니다.
참고:
위 내용은 Java를 사용하여 Selenium WebDriver에서 인증 팝업을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!