Я пытаюсь щелкнуть всплывающее предупреждение на пользовательском интерфейсе с Selenium Webdriver.
Проблема в том, что он не нажимает на кнопку принять или отменить, даже если я явно и неявно жду.Есть ли другая альтернатива, чтобы нажать на всплывающее сообщение.Я попытался отправить ключ с помощью робота и нажать клавишу ввода, но он тоже не сработал.
щелкнуть ОК, функция всплывающего сообщения:
try {
WebDriverWait wait = new WebDriverWait(driver, 40);
wait.until(ExpectedConditions.alertIsPresent());
Alert alert = driver.switchTo().alert();
report.log(LogStatus.INFO, "Displayed Pop-up Window Alert Message -> " + alert.getText() + " for the Field -> " + fieldName);
System.out.println("Displayed Pop-up Window Alert Message -> " + alert.getText() + " for the Field -> " + fieldName);
alert.accept();
Thread.sleep(3000);
} catch (NoAlertPresentException ex) {
System.err.println("Error came while waiting for the alert popup. ");
report.log(LogStatus.INFO, "Alert pop up box is NOT populating when user clicks on: ");
}
Вот как выглядит HTML для всплывающего окна:
<input type="submit" name="ctl00$ctl00$Content$ContentPlaceHolderMain$Continue" value="Continue..."
onclick="if(warnOnDelete('ctl00_ctl00_Content_ContentPlaceHolderMain_EditRadioOptions_1',"
+ "'Please confirm if you wish to delete.') == false) return false;"
id="ctl00_ctl00_Content_ContentPlaceHolderMain_Continue" style="width:100px;">
Это должно быть в IE, нам не разрешено использовать что-либо кроме IE
Обновление: функция для полей подтверждения
function warnOnDelete(deleteButtonID, msg) {
var deleteRadioButton = document.getElementById(deleteButtonID);
if (deleteRadioButton != null) {
if (deleteRadioButton.checked == true)
return confirm(msg);
}
return true;
}