在硒中使用xpath获取属性

在硒中使用xpath获取属性

问题描述:

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

的属性值是每下一个webelement

下面

动态变化中的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")); 
+1

请在发布问题之前搜索论坛和谷歌。搜索如何使用硒获取属性会给你提供大量的信息。 –

+1

您好Gaurang:我搜索没有得到答案:( –

+2

可能重复[如何使用XPath获取属性的值](https://stackoverflow.com/questions/23394828/how-to-get-the -value-of-an-attribute-using-xpath) –

请按照W上的方法如下所述:

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

不能正常工作:( –

+0

请检查您使用的XPath是正确还是现在?是否可以将HTML粘贴到您的问题中? – Monika

这里是回答你的问题:

要获得的属性data-videono你可以考虑使用下面的代码行:

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

让我知道这个答案是否是你的问题。

+0

否上述方法无法正常工作。:( –

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

的XPath 1.0

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

通知的@data-videono在字符串的末尾,这将返回的属性值(PS好像它是base64编码数据)

+0

哎博尔纳,非常感谢它的工作多了一个问题,我应该如何打印@数据videono值我试图像下面的(WebElement ELE:名单) \t \t { \t \t \t的System.out .println(ele.getAttribute(“data-videono”)); \t \t \t \t \t}但没有打印在控制台上你可以请帮忙 –

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

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

+0

是的,我做了,但它不工作:( –