在selenium中使用xpath获取属性

时间:2017-07-26 10:24:44

标签: selenium xpath

我一直在寻找一个XPath代码来获取HTML元素属性的值作为回归测试的一部分。任何人都可以请帮助

属性值是每个下一个元素的动态变化

下面是HTML代码

<figcaption id="recentVideosvideoname0" data-videono="xZA6FJ32Twe2GQYEuBHJnQ==" title="test for test" class="caption">test for test</figcaption>

我想要属性:data-videono

我尝试过这样的事情

By.xpath(("//div[contains(@id,'recentVideos')]/div/a/figure/figcaption"));

4 个答案:

答案 0 :(得分:0)

请按照下面提到的方法:

driver.findElement(By.xpath("//div[contains(@id,'recentVideos')]/div/a/figure/figcaption")).getAttribute("data-videono");

答案 1 :(得分:0)

以下是您的问题的答案:

要检索属性data-videono,您可以考虑使用以下代码行:

String my_attribute = driver.find_element_by_xpath("//figcaption[starts-with(@id, 'recentVideos') and @title='test for test']").getAttribute("data-videono");

如果这回答你的问题,请告诉我。

答案 2 :(得分:0)

您可以使用XPath本身获取属性值。

  

XPath 1.0

"//div[contains(@id,'recentVideos')]/div/a/figure/figcaption/@data-videono"

注意字符串末尾的@data-videono,它将返回属性值(p.s.它似乎是base64编码数据)

答案 3 :(得分:0)

我不知道我是否有你的问题,但你是否已经尝试过:

String var = driver.frindElemnt(By.xpath(“将你的xpath放在这里”))。getAttribute(“data-videono”);