在硒中使用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"));
请按照W上的方法如下所述:
driver.findElement(By.xpath("//div[contains(@id,'recentVideos')]/div/a/figure/figcaption")).getAttribute("data-videono");
不能正常工作:( –
请检查您使用的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");
让我知道这个答案是否是你的问题。
否上述方法无法正常工作。:( –
您可以通过使用XPath本身来获取属性值。
的XPath 1.0
"//div[contains(@id,'recentVideos')]/div/a/figure/figcaption/@data-videono"
通知的@data-videono
在字符串的末尾,这将返回的属性值(PS好像它是base64编码数据)
哎博尔纳,非常感谢它的工作多了一个问题,我应该如何打印@数据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“);
是的,我做了,但它不工作:( –
请在发布问题之前搜索论坛和谷歌。搜索如何使用硒获取属性会给你提供大量的信息。 –
您好Gaurang:我搜索没有得到答案:( –
可能重复[如何使用XPath获取属性的值](https://stackoverflow.com/questions/23394828/how-to-get-the -value-of-an-attribute-using-xpath) –