如何获取使用java脚本

时间:2016-03-02 16:26:07

标签: javascript selenium selenium-webdriver

我使用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脚本的链接。我可以获得这些链接吗?

1 个答案:

答案 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属性的数组!

希望它有所帮助! :)