2017-01-16 11 views
0

Мой сценарийкак обрабатывать браузер всплывающие (вы можете потерять данные, вы уверены, что вы хотите, чтобы продолжить», с двумя вариантами: Оставьте страницу Пребывание на странице)

  1. Я работаю на странице 1
  2. я должен перейти на страницу 2
  3. но всплывающее приходит, с текстом you might lose the data, are you sure you want to continue?, с двумя вариантами:

    • покиньте страницу
    • Пребывание на странице
  4. я должен выбрать «покинуть страницу» вариант

  5. но как справиться с этой всплывал, (примечание: -i) это не предупреждения, поэтому переключатель для предупреждения не работает II) даже ((JavascriptExecutor) webDriver).executeScript("window.close()"); не работает) только тогда я могу перейти на страницу 2 может кто-то пожалуйста, помогите на этом
+0

Вы пытались отправить нажатия клавиш (Tab + Enter)? –

ответ

0

Ниже код s hould работа:

//Save the current window to switch back to it after clicking on Leave Page 
String currentWindowHandle = driver.getWindowHandle(); 

//Switch to the latest window (a.k.a your pop up) 
for(String windowHandle : driver.getWindowHandles()) 
{ 
    driver.switchTo().window(windowHandle); 
} 

//Click on leave page 

//If the window closes automatically, you can remove the below line 
driver.close(); 
//Finally, switch back to the main window so you can keep doing stuff there. 
driver.switchTo().window(currentWindowHandle); 
0

Хотя это не кажется, как предупреждение, потому что alert.accept() или alert.dismiss() не работает (как вы не поделили html) Просто попробуйте следующий код -

Первый переключатель. что тревога -

Alert alert = driver.switchTo().alert(); 

, а затем изменить фокус leave, если ваш по умолчанию фокус находится на Stay

alert.sendKeys(Keys.chord(Keys.TAB)); //By pressing TAB key in this way 

, а затем нажмите кнопку

alert.dismiss(); 
0

Как я понимаю, это браузер оповещения, которые вы получаете, так что вы можете использовать следующий код, основанный на вашем требовании:

Alert alert = driver.switchTo().alert(); 

    System.out.println(alert.getText()); 

If вы хотите, чтобы остаться на странице, используйте:

alert.dismiss(); 

Если вы хотите покинуть страницу, используйте:

alert.accept(); 

 Смежные вопросы

  • Нет связанных вопросов^_^