[英]How do I close login request window?
我在使用selenium關閉登錄請求時遇到問題。
我正在做一些自動測試的網站是不時請求登錄。
這是已知的問題,您所要做的就是關閉登錄請求,我正在嘗試為此編寫Java腳本。 我的這個小代碼似乎沒有做任何事情。
WebDriver webDriverInstance = handl.browser;
webDriverInstance.switchTo().alert().dismiss();
webDriverInstance.switchTo().defaultContent();
有什么想法嗎?
您可以做的是先檢查是否有彈出窗口
public boolean isAlertPresent() {
try{
WebDriverWait wait = new WebDriverWait(driver, 5);
wait.until(ExpectedConditions.alertIsPresent());
return true;
}
catch (NoAlertPresentException noAlert) {
return false;
}
catch (TimeoutException timeOutEx){
return false;
}
}
如果它存在,那么你可以接受它
WebDriverWait wait = new WebDriverWait(driver, 10);
Alert alert = wait.until(ExpectedConditions.alertIsPresent());
alert.accept();
要么
JavascriptExecutor為你工作。 在單擊調用警報的事件之前,請務必執行它。
((JavascriptExecutor) driver).executeScript("window.confirm = function(msg) { return true; }");
注意: - 點擊調用警報確認框的事件后不要使用它。 默認情況下,上面的代碼將確認框設置為true表示如果調用,則表示您接受/單擊該頁面上所有確認框中的確定。 如果要取消警報,請將flag更改為false
希望它能幫到你:)
似乎Webdriver的警報對我不起作用,因為登錄請求不會引發Javascript警報事件。 所以沒有什么可以檢測或切換到。
解決了這段代碼,它只是將ESCAPE密鑰發送到瀏覽器:
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ESCAPE);
robot.keyRelease(KeyEvent.VK_ESCAPE);
謝謝大家的幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.