我使用selenium web驱动程序使用以下逻辑获取所有链接:
public static List findAllLinks(WebDriver driver)
{
List elementList = new ArrayList();
elementList = driver.findElements(By.tagName("a"));
elementList.addAll(driver.findElements(By.tagName("img")));
List finalList = new ArrayList(); ;
for (WebElement element : elementList)
{
if(element.getAttribute("href") != null)
{
finalList.add(element);
}
}
return finalList;
}
但它只返回以http开头的链接,而不是java脚本的链接。我可以获得这些链接吗?
答案 0 :(得分:4)
您可以使用getElementsByTagName。
var links = document.getElementsByTagName('a');
for(var i = 0; i< links.length; i++){
alert(links[i].href);
}
另一种方法是document.links让anchortags循环并得到href!
var linkArray = [], links = document.links;
for(var i=0; i<links.length; i++) {
linkArray.push(links[i].href);
alert(links[i].href);
}
现在你有来自页面中锚点的所有href属性的数组!
希望它有所帮助! :)