获取链接文本 - Selenium,Java

时间:2013-11-17 21:36:55

标签: java selenium selenium-webdriver

我试图从网页上获取所有链接。试图使用

WebDriver driver = FirefoxDriver();   
List<WebDriver> elements = driver.findElements(By.tagName("a")); 

,但我得到0个链接,我不明白为什么,有人可以帮助我吗?

我需要从我需要的网址文本中获取一部分。

更新 谢谢,我想找到了我要找的东西:

List<WebElement> elements = driver.findElements(By.tagName("a")); 
for (int i = 0; i < elements.size(); i++) {
   System.out.println(elements.get(i).getAttribute("href"));
}

2 个答案:

答案 0 :(得分:4)

您忘记拨打WebDriver#get以访问某个页面。

WebDriver driver = FirefoxDriver();   
driver.get("www.google.com");
List<WebElement> elements = driver.findElements(By.tagName("a")); 

答案 1 :(得分:2)

在提供的代码中没有检索到任何网站。尝试访问网页,然后获取a元素。同时尝试从List<WebDriver>更改为List<WebElement>

   WebDriver driver = FirefoxDriver();
   driver.get("http://www.google.com"); 
   List<WebElement> elements = driver.findElements(By.tagName("a")); 

请参阅此示例:http://www.seleniumhq.org/docs/03_webdriver.jsp#introducing-the-selenium-webdriver-api-by-example

以下示例适用于我:

 public class SeleniumTest {

    public static void main(String[] args) {
        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com");
        List<WebElement> elements = driver.findElements(By.tagName("a"));

        for (WebElement element : elements) {
            System.out.println(element.getText());
        }
    }
}