В Firefox с помощью инструмента "Исследовать элемент" в интересующем куске кода есть ссылки, которые хочу брать используя методы библиотеки Selenium. Вот этот кусок исходного кода, который вижу в Firefox
<table class="gray-table">
<tbody><tr class="">
<th style="width: 230px;">Производитель</th>
<th>Наименование</th>
<th style="width: 140px; text-align: center;">Цена</th>
</tr>
<tr class="">
<td>KRAFTTECH</td>
<td><a href="ССЫЛКА, КОТОРУЮ НУЖНО ВЗЯТЬ" target="_blank">Комплект сцепления</a></td>
<td style="text-align: center;"><noindex><a target="_blank" href="/Web/price/art/W01210H9/manufacturer6107/KRAFTTECH" rel="nofollow">Найти</a></noindex></td>
</tr>
<tr class="">
<td>VALEO</td>
<td><a href="ССЫЛКА, КОТОРУЮ НУЖНО ВЗЯТЬ" target="_blank">Диск</a></td>
<td style="text-align: center;"><noindex><a target="_blank" href="/Web/price/art/VW09/manufacturer21/VALEO" rel="nofollow">Найти</a></noindex></td>
</tr>
</tbody></table>
Те ссылки, которые хочу взять тут обозначил как "ССЫЛКА, КОТОРУЮ НУЖНО ВЗЯТЬ". Пробовал использовать различные методы поиска по имени тэга, пытался искать используя имя класса и т. д. Перепробовал разные варианты, пока не удалось получить желаемый результат. Буду благодарен помощи!
Нужно пробежаться в таблице по всем tr
(c помощью FindElements) найти в каждом второй td
и взять тег a
Дальше у вас будет лист элементов, через который вы получите как .Text
так и саму ссылку .GetAttribute("href")
Не знаю как в Java List называется, напишу на шарпе, уверен разберетесь:
List<IWebElement> linkElements = driver.FindElements(By.CssSelector("tr td:nth-child(2) a")).ToList();
foreach(IWebElement link in linkElements)
{
string href = link.GetAttribute("href");
}
наш элемент находится в table > tbody > tr > td > a
. Значит нужно искать там
// находим все элементы
List<WebElement> elements = getDriver().findElements(By.cssSelector("table > tbody > tr > td > a "));
for (WebElement element : elements) {
System.out.println(element.getAttribute("href")); // печатаем значение
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Мне в крон-методе необходимо получить рутовый путьРанее, в контроллерах, я использовать UriComponentBuilder, но в кроны лежат в сервисах и никакой...
Есть 3 полякогда заполняется поле №1 фокус перескакивает на поле №2
Ранее никогда не писал собственные интерфейсы для "упрощения жизни"Почему? Что в них такого интересного?