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

Nwd

Регистрация: 18 июл 2011
Offline Активность: 11 ноя 2014 13:38
-----

#121030 Ускорить работу Selenium Web Driver

Написано Nwd 19 августа 2013 - 16:26

Голосую за Xenu или что-то в этом роде. Не вижу смысла делать это вебдрайвером
  • 1


#120824 div извлечь текст

Написано Nwd 12 августа 2013 - 13:44

Если я конечно, правильно понял то что вы хотите получить

driver.get("http://pogoda.mail.r...hoto_list.html");
List<WebElement> images = driver.findElements(By.xpath("//div[@class='previews__item__descr']"));
for (WebElement image : images) {
System.out.println(image.getText());}
}
  • 1


#120544 Selenium + Thucydides + Java: Собрать, прокликать и проверить все ссыл

Написано Nwd 02 августа 2013 - 14:27

Сейчас я собираю имена в список, но вот что дальше с этим списком делать я не могу сообразить. nameList - это элемент, в котором находятся ссылки и который задан аннотациtq @FindBy в начале класса.

List<WebElement> Names = nameList.findElements(By.xpath("href"));

С кодом было бы проще, могу предложить что-то вроде:
List<WebElement> Names = nameList.findElements(By.xpath("href"));
for (WebElement Name_in_list : Names ) {
String text = Name_in_list.getAttribute("text");
String url = Name_in_list.getAttribute("href");
driver.get (url);
и тут проверку на наличие text

}
Как-то так
  • 1


#119412 Повтор действия (Webdriver+Java)

Написано Nwd 08 июля 2013 - 11:02


Скажите пожалуйста, как можно организовать повтор како-либо дейтсвия, если не проходит условие,условием цикла должно являться отсуствие определенного элемента на странице.

new WebDriverWait(driver, 10).until(ExpectedConditions.invisibilityOfElementLocated(By.id("foo")));


Я так понимаю вопрос не в том что элемент не виден, а в том что он может быть еще не выведен на страницу и через какое-то время надо ее перегрузить.
Если да, то вот например вариант решения:
List<WebElement> wait_for_tags = driver.findElements(By.xpath("//div[@class='tags-block']"));
while (wait_for_tags.size() == 0) {
try {
System.out.println("Tag is not displayed yet, let's wait 10000ms and re-load page");
Thread.sleep(10000);
} catch(InterruptedException ex) {
Thread.currentThread().interrupt();
}
driver.get(//тут перегружаем нужную страницу, другой вариант - используя sendKey послать F5);
wait_for_tags = driver.findElements(By.xpath("//div[@class='tags-block']"));
}
  • 1