Перейти к содержимому

Фотография

Selenium + Java. Задержки.

задержки таймер окна

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 8

#1 vuchenka

vuchenka

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Ирина
  • Город:Минск

Отправлено 09 декабря 2014 - 10:42

Подскажите, пожалуйста, как закрыть активное окно..
Перехожу на главную страницу сайта, нахожу элемент (ссылку) и кликаю на нее. Открывается новое окно. 
Вот его мне надо закрыть и вернуться в предыдущее, продолжить работу в нем...
driver.close(); не помогает, закрываются оба окна..
 
Так тоже не работает

       String winHandleBefore = driver.getWindowHandle();

       driver.findElement(By.xpath("//input[@id='111")).click();

       driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);

       for(String winHandle : driver.getWindowHandles()){

       driver.findElement(By.linkText("reklama@reklama.by"));

       driver.switchTo().window(winHandle);

       driver.close();

 


  • 0

"Не сломал - значит, не старался!"


#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 09 декабря 2014 - 11:39



for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
try{
      driver.findElement(By.linkText("reklama@reklama.by"));
     driver.close();
}catch(NoSuchElementException e){
}      
}

Попробуйте так, заменить свой фор.

И сделайте задержку секунды 2-3, а то 20 много.


  • 1

#3 vuchenka

vuchenka

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Ирина
  • Город:Минск

Отправлено 09 декабря 2014 - 12:49

 



for(String winHandle : driver.getWindowHandles()){
driver.switchTo().window(winHandle);
try{
      driver.findElement(By.linkText("reklama@reklama.by"));
     driver.close();
}catch(NoSuchElementException e){
}      
}

Попробуйте так, заменить свой фор.

И сделайте задержку секунды 2-3, а то 20 много.

 

спасибо, но теперь закрывает не второе окно, а первое..( надо наоборот

 

}
}

Прикрепленные файлы

  • Прикрепленный файл  21323.png   26,48К   3 Количество загрузок:

  • 0

"Не сломал - значит, не старался!"


#4 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 09 декабря 2014 - 13:26

Ну так и укажите в By.linkText("reklama@reklama.by")  то что есть на том окне которое надо закрыть, и нет в том окне которое не трогать.


  • 0

#5 vuchenka

vuchenka

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Ирина
  • Город:Минск

Отправлено 09 декабря 2014 - 14:41

Ну так и укажите в By.linkText("reklama@reklama.by")  то что есть на том окне которое надо закрыть, и нет в том окне которое не трогать.

Спасибо, просто не разобралась, что к чему...Уже поняла..

Проблема в том, что элементы, ссылки совпадают..

Если только искать текст. Но с этим проблемы.. Подскажите пожалуйста, как на странице найти нужный текст.

Пробовала так, не работает(

driver.findElements(By.xpath("//*[text()='Я ищу этот текст']")).isEmpty();


  • 0

"Не сломал - значит, не старался!"


#6 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 09 декабря 2014 - 15:10

Вот тут очень удобные таблички с локаторами на все случаи жизни, скачайте, смотрите, разбирайтесь.

Прикрепленный файл  2014-12-09 18-13-01 Скриншот экрана.png   111,6К   4 Количество загрузок:

 


  • 2

#7 vuchenka

vuchenka

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Ирина
  • Город:Минск

Отправлено 10 декабря 2014 - 06:03

Вот тут очень удобные таблички с локаторами на все случаи жизни, скачайте, смотрите, разбирайтесь.

attachicon.gif2014-12-09 18-13-01 Скриншот экрана.png

спасибо огромное


  • 0

"Не сломал - значит, не старался!"


#8 vmaximv

vmaximv

    Опытный участник

  • Members
  • PipPipPipPip
  • 350 сообщений

Отправлено 10 декабря 2014 - 07:14

Вот тут очень удобные таблички с локаторами на все случаи жизни, скачайте, смотрите, разбирайтесь.

attachicon.gif2014-12-09 18-13-01 Скриншот экрана.png

Коварные таблички - утверждение, что string()=.=text() довольно быстро приведет к гематоме на лбу от граблей.


  • 0

#9 vuchenka

vuchenka

    Постоянный участник

  • Members
  • PipPipPip
  • 174 сообщений
  • ФИО:Ирина
  • Город:Минск

Отправлено 12 февраля 2015 - 07:44

Может кому поможет, как решила вопрос с окнами:

 

//Сначала сохраняем handle текущего окна.
String parentHandle = driver.getWindowHandle();
//Нажимаем на ссылку "Контактная информация"
driver.findElement(By.xpath(".//*[@class='b-footer']/div/div[1]/ul/li[2]/p/a")).click();
//Ставит таймер
Thread.sleep(5000);
for(String childHandle : driver.getWindowHandles()){
 if (!childHandle.equals(parentHandle)){
     driver.switchTo().window(childHandle);
 }          
}
//Проверяем, есть ли на странице заголовок "Банковские реквизиты"
driver.findElement(By.xpath("//div[normalize-space(text())='Банковские реквизиты']"));
 
//Возвращаемся на первое окно:
driver.switchTo().window(parentHandle);
 
с поиском текста:
driver.findElement(By.xpath("//h1[normalize-space(text())='Новости']"));
 

  • 1

"Не сломал - значит, не старался!"



Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных