![](/img/trans.png)
[英]List<WebElement> is not storing all the required elements in selenium
[英]Using webElement(Selenium) get all 'x'-tags content as a list
我得到一個 webElement:
WebElement myElement = browser.findElement(By.cssSelector(".nd_list"));
元素的 HTML 類似於:
<div class="nd_list">
<div>etc</div>
<table>
<span>2</span>
</table>
<table>
<span>3</span>
</table>
</div>
web 元素有更多的 html-body,只是為了制作一個視圖......這個想法是我想要一些動態的東西。 我想從myElement
獲取所有<span>
元素並將它們的內容放入一個 int 數組中。 預期結果: int [] myArray = {2,3}
我該怎么做?
執行此操作的一種方法是創建一個 CSS 選擇器,以獲取您所引用的.nd_list
DIV
所有SPAN
子項。 就像遍歷該集合一樣簡單,使用.getText()
從每個元素獲取文本,然后將String
轉換為int
。 我在你的 HTML 上測試了下面的代碼,它工作正常。
List<WebElement> spans = driver.findElements(By.cssSelector(".nd_list span"));
int[] numbers = new int[spans.size()];
for (int i = 0; i < spans.size(); i++)
{
numbers[i] = Integer.parseInt(spans.get(i).getText());
System.out.println(numbers[i]);
}
要從myElement獲取所有<span>
元素並將它們的內容放入整數數組並打印它們,您可以使用以下代碼塊:
List<WebElement> myElement = driver.findElements(By.cssSelector(".nd_list table > span"));
List<Integer> myList = new ArrayList<Integer>();
for(WebElement ele:myElement)
myList.add(Integer.parseInt(ele.getAttribute("innerHTML")));
Integer[] myArray = myList.toArray(new Integer[0]);
System.out.println(myArray);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.