Я хочу получить все ссылки со страницы, где текст ссылки имеет следующий формат.
( 10 ) Теперь я попробовал использовать метод ниже, но он не работал.
На той же странице доступно много похожих ссылок, где число не в последовательности, а также много повторяющихся номеров для текста ссылки, поэтому я хочу сначала собрать такой веб-элемент, а затем, используя атрибут, получить URL-адрес.
Похоже на эту страницу.
http://www.dmoz.org/search?q=surat&start=0&type=more&all=no&cat=
Я хочу получить ссылку после того, как мы нажмем эти цифры в скобках.
List<WebElement> catLinks = driver.findElements(By.xpath("//html/body/div[@id='doc']/div[@id='bd-cross']/ol/li[1]/a[2]"));
for (WebElement catLink : catLinks) {
System.out.println(nLink + ". " + catLink.getAttribute("href"));
}
Ссылка XPath:
//html/body/div[@id='doc']/div[@id='bd-cross']/ol/li[***1***]/a[2]
Используя выше XPath, я могу получить URL первой ссылки. Теперь, что я могу сделать, чтобы получить все ссылки URL.
Я пытался использовать регулярное выражение:
//html/body/div[@id='doc']/div[@id='bd-cross']/ol/li[\\d\\.\\*]/a[2]
Но это не работает.
Я также пытался использовать метод ниже.
List<WebElement> catLinks = driver.findElements(By.linkText("\\d\.\*"));
for (WebElement catLink : catLinks) {
System.out.println(nLink + ". " + catLink.getAttribute("href"));
}
но не повезло.