2017-07-26 110 views
-3

我一直在尋找一個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) –

回答

0

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

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

不能正常工作:( –

+0

請檢查您使用的XPath是正確還是現在?是否可以將HTML粘貼到您的問題中? – Monika

0

這裏是回答你的問題:

要獲得的屬性data-videono你可以考慮使用下面的代碼行:

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

讓我知道這個答案是否是你的問題。

+0

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

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}但沒有打印在控制檯上你可以請幫忙 –

0

我不知道如果我有你的問題,但你已經嘗試過:

String var = driver.frindElemnt(Byxxpath(「把你的xpath在這裏「))。getAttribute(」data-videono「);

+0

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