如何使用selenium获取头标记内的锚标记值和href值

时间:2016-11-20 05:16:44

标签: java selenium selenium-webdriver selenium-chromedriver

我的html页面代码包含很多锚标记,但我需要获取锚标记内的所有 href值锚标记值,它们存在于< div元素的强>标题 ,我在java 中使用 selenium来获取html的页面源代码。

我网页的html代码部分如下所示: -

hex[0]

我用来检索锚标记值的java代码如下所示: -

<a href="www.qq.com">qq</a>
<a href="www.ww.com">ww</a>
<a href="www.ee.com">ee</a>
<div class="hello">
<h2>
<a href="www.aa.com">aa</a>
<a href="www.ss.com">aa</a>
</h2>
<div>

上述代码的输出如下所示: -

List<WebElement> list = driver.findElements(By.xpath("//*[@href]"));
        for (WebElement e : list) {
            String link = e.getAttribute("href");
            System.out.println(e.getTagName() + "=" + link);
        }

但我需要的输出是这样的: -

a=www.qq.com
a=www.ww.com
a=www.ee.com
a=www.aa.com
a=www.ss.com

我需要在 hello类

中获取所有的anchortag值和href值

1 个答案:

答案 0 :(得分:0)

尝试这一点 - 使用getText()和修改的xpath在div中包含hrefs,类为hello。假设特定div是具有类名的唯一div。

List<WebElement> list = driver.findElements(By.xpath("//div[@class='hello']//a[@href]"));
            for (WebElement e : list) {
                String link = e.getAttribute("href");
                System.out.println(e.getTagName() + "=" + link + " , " + e.getText());
            }