簡體   English   中英

使用 webElement(Selenium) 獲取所有 'x'-tags 內容作為列表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM