Я использую Selenium webdriver java 2.45 и firefox 38, и при попытке обработать предупреждение оно зависает навсегда. Я искал любой предыдущий ответ на этот вопрос, и все, что я мог найти, это это. Он не получил никакого ответа, и я не мог прокомментировать, чтобы повторить вопрос, поэтому, пожалуйста, если кто-то столкнулся с этой проблемой, ваша помощь будет очень признательна.
К сожалению, я не могу прикрепить пример кода или что-то подобное, поскольку это конфиденциально, но сценарий выглядит следующим образом: я заполняю форму, которая генерирует предупреждение при отправке, и я использую следующий код, чтобы попытаться принять предупреждение:
try {
(new WebDriverWait(driver_, timeout)).until(ExpectedConditions.alertIsPresent());
} catch (TimeoutException e) {
throw new NoAlertPresentException();
} catch (Exception e1) {
throw e1;
}
Alert alert = driver_.switchTo().alert();
String alertText = alert.getText();
if (dismiss)
alert.dismiss();
else
alert.accept();
Как и в случае с упомянутым вопросом, это зависло навсегда, поэтому я использовал класс Java Robot, чтобы отклонить предупреждение следующим образом:
try {
Robot rb;
rb = new Robot();
rb.keyPress(KeyEvent.VK_ENTER);
Thread.sleep(2000);
rb.keyRelease(KeyEvent.VK_ENTER);
} catch (AWTException | InterruptedException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
К сожалению, сразу после этого я получаю исключение UnhandledAlertException, поэтому я не знаю, что делать. Попытка принять предупреждение с помощью «driver_.switchTo().alert().accept» сразу после того, как код робота только задерживает генерацию исключения.
Если у кого есть решение, помогите. Если что-то непонятно или у вас есть дополнительные вопросы по ситуации, я буду рад ответить. Я занимаюсь этим уже 6 часов.
Дополнительная информация. Управление оповещениями по умолчанию работало день назад, как раз перед тем, как команда пользовательского интерфейса в компании решила перейти на асинхронность для своих вызовов Ajax. Я не знаю, актуальна ли вообще эта информация, но я решил, что больше информации лучше, чем ее недостаточно.
Selenium
. Есть много открытых проблем с последним ff и selenium 2.45. - person Saifur   schedule 02.06.2015