如何通过selenium webdriver在网页中找到部分链接?

时间:2015-02-02 07:25:31

标签: selenium-webdriver

我想从包含起始文字href="/incidents/types/...."的网页中提取并打印一些链接。

我正在使用下面提到的代码:

List<WebElement> linksize = driver.findElements(By.tagName("a"));
for (WebElement myElement : linksize){
WebElement link = myElement.findElement(By.partialLinkText("href=\"/incidents/types/\""));
System.out.println(link);

请帮帮我。

先谢谢, Neeraj

2 个答案:

答案 0 :(得分:1)

此处描述了By.partialLinkText的正确用法: http://docs.seleniumhq.org/docs/03_webdriver.jsp

Esample:

HTML:

<a href="http://www.google.com/search?q=cheese">search for cheese</a>>

代码:

WebElement cheese = driver.findElement(By.partialLinkText("cheese"));

所以你的代码应该是:

WebElement link = myElement.findElement(By.partialLinkText("/incidents/types"));

答案 1 :(得分:1)

如果要获取包含给定href的元素,可以使用...

List<WebElement> lnkElements = driver.findElements(By.tagName("a"));
List<WebElement> lnkMatch = new ArrayList<WebElement>();
for ( WebElement ele : lnkElements ) {
    if ( ele.getAttribute("href").contains("/incidents/types") ){
        System.out.println(ele.getText()); // Prints text in link
        lnkMatch.add(ele); // Adds element containing the links
    }
}