Selenium - 如何获取具有相同标记名称且没有class / id的属性值?

时间:2018-05-07 15:32:05

标签: java selenium selenium-webdriver attributes webdriver

得到了一个简单的问题,因为我有点困惑。 我希望得到这个:

<meta property="article:tag" content="amd">
<meta property="article:tag" content="game">
<meta property="article:tag" content="what">

进入列表或简单&#34; nextValueOf&#34;。

目前我有这样的代码:

String urlTag = driver.findElement(By.xpath("//meta[@property='article:tag']")).getAttribute("content");

但是,当我将其更改为&#34; getAttributes&#34;它不会工作或当我循环它时它会不断吐出第一个。 我在这里缺少什么?

提前感谢一大堆。 :)

P.S。由于我的代码如何工作,我可以逐个获取它们而不是列表,因此没有这样的要求 - 我只需要将它们全部作为输入。

1 个答案:

答案 0 :(得分:1)

您可以使用findElement()方法创建列表并迭代列表以打印属性的值,而不是findElements() 内容如下:

List <WebElement> urlTag = driver.findElements(By.xpath("//meta[@property='article:tag']"));
for(WebElement tag:urlTag)
    System.out.println(tag.getAttribute("content"));