Получить список всех ссылок
#1
Отправлено 22 октября 2013 - 21:38
Столкнулся с такой задачей: при помощи selenium WebDriver собрать в список все ссылки на странице.
(в дальнейшем работа будет проходить с полученными ссылками). Еще загвоздка в том что метод должен быть "почти" универсальным. Т.е. явный атрибут для ссылок я назвать не могу.
(Хотя к примеру за основу можно взять страницу википедии).
Очень нуждаюсь в помощи - поэтому не отказался бы от хорошего кусочка кода.
Всем за ранее огромное спасибо.
Возможно на форуме уже обсуждали это - поэтому за ранее приношу свои извинения.
#2
Отправлено 22 октября 2013 - 22:13
Это?Доброе время суток.
Столкнулся с такой задачей: при помощи selenium WebDriver собрать в список все ссылки на странице.
(в дальнейшем работа будет проходить с полученными ссылками). Еще загвоздка в том что метод должен быть "почти" универсальным. Т.е. явный атрибут для ссылок я назвать не могу.
(Хотя к примеру за основу можно взять страницу википедии).
Очень нуждаюсь в помощи - поэтому не отказался бы от хорошего кусочка кода.
Всем за ранее огромное спасибо.
Возможно на форуме уже обсуждали это - поэтому за ранее приношу свои извинения.
List<WebElement> linkList = driver.findElements(By.xpath("//a"));Только это не будет работать для ссылок, организованных не через стандартный HTML-тег <a href=...>...</a>.
Например, предложенный метод не подойдёт для конструкции вида <div class="..." onclick="...">...</div>
Так что, имхо, подход изначально неверный.
#3
Отправлено 23 октября 2013 - 05:03
Это?
List<WebElement> linkList = driver.findElements(By.xpath("//a"));Только это не будет работать для ссылок, организованных не через стандартный HTML-тег <a href=...>...</a>.
Например, предложенный метод не подойдёт для конструкции вида <div class="..." onclick="...">...</div>
Так что, имхо, подход изначально неверный.
Соглашусь, подход весьма неудачен. Но может у вас будут какие то предложения по этому поводу?
#4
Отправлено 23 октября 2013 - 05:06
И еще подскажите пожалуйста какие библиотеки задействуются при этом?List<WebElement> linkList = driver.findElements(By.xpath("//a"));
#5
Отправлено 23 октября 2013 - 06:05
И еще подскажите пожалуйста какие библиотеки задействуются при этом?
List<WebElement> linkList = driver.findElements(By.xpath("//a"));
import java.util.List; import org.openqa.selenium.By; import org.openqa.selenium.WebElement; import org.openqa.selenium.WebDriver;Стандартная библиотека JDK + библиотека селениума "selenium-server-standalone-2.31.0.jar"
#6
Отправлено 23 октября 2013 - 06:08
Вы меня неправильно поняли.Соглашусь, подход весьма неудачен. Но может у вас будут какие то предложения по этому поводу?
Сама идея "получить список всех ссылок на странице" неверна.
После каждого обновления страницы Вы список будете формировать заново?
Правильный подход: использовать только те ссылки, которые нужны в определённый момент времени.
#7
Отправлено 23 октября 2013 - 06:33
Вы меня неправильно поняли.
Сама идея "получить список всех ссылок на странице" неверна.
После каждого обновления страницы Вы список будете формировать заново?
Правильный подход: использовать только те ссылки, которые нужны в определённый момент времени.
Дело в том что мне необходимо проверять каждый раз "новую" страницу... и данных страниц несметное количество.
Если взять полную задачу: мне необходимо собрать все ссылки на странице, отфильтровать - оставить только те, что принадлежат данному ресурсу,
после пройти по ним и проверить наличия на данных страницах так сказать "ключевого слова". Причем "глубина" перехода по ссылкам может быть различной.
И я не совсем понимаю , что значит "которые нужны в определённый момент времени".
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных