![](/img/trans.png)
[英]How to fetch dropdown value from List in selenium Webdriver by using java
[英]How fetch first element from json list in selenium java?
我有以下json格式的id列表。 我想使用java訪問selenium中的第一個id。 我試過用
String item = driver.findElement(By.xpath("//ul//li[1]")).getText();
但沒有幫助。
<body>
<div id="json">
<span class="collapser"></span>
{
<ul class="obj collapsible">
<li>
<span class="prop" title="<root>.hdps">
<span class="q">"</span>
hdps
<span class="q">"</span>
</span>
:
<span class="collapser"></span>
[
<ul class="array collapsible">
<li>
<span class="num">65085</span>
,
</li>
<li>
<span class="num">65089</span>
,
</li>
<li>
<span class="num">65711</span>
,
</li>
</ul>
]
</li>
</ul>
}
</div>
我的理解是你試圖讀取元素的ID屬性的值。 我真的不確定你問題的意圖。 但這是如何獲得ID的價值的。
您需要使用各種元素定位器之一來引用元素。 在這種情況下,您已利用By.xpath()
。 您可以驗證Firefox Xpath
檢查程序使用的XPATH
的正確性。 一旦使用正確的XPATH
,您將獲得webElement
參考。
WebElement wElement = driver.findElement(By.xpath("//ul//li[1]")); // validate the correct XPATH using available tools - ex : firefox xpath checker etc.
您需要獲取元素的id
屬性的值。
String requiredID = wElement.getAttribute("id");
讓我知道這個是否奏效。
正如pendem回答的那樣,你可以使用xpath獲得你想要的第一個ID。 但是在這里我發現你使用的xpath找到2個元素,因為有兩個ul元素有li 。 如果你使用具有特定ul和類屬性的xpath作為 - .//ul [@class =“array collapsible”] // li [1]將起作用。
如果您提供了所有相關的HTML,它應該如下所示。
String id = driver.findElement(By.cssSelector("span.num")).getText();
這只返回ID的第一個實例。
如果這不起作用,你將不得不做更多的挖掘,例如這是在IFRAME中還是時間問題或?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.