頁面包含幾個元素 (9) 具有不同的字串值km。我需要從每個元素中捕獲一個整數。
<li class="specItem___2u4I4" data-qa-selector="spec-mileage"><span class="specDot___2SwMP">?</span> 21.950 km</li>
我的想法如下,通過 Xpath 查找元素串列,getText() 并將它們放入串列中。
ArrayList<String> abcd = new ArrayList<>();
for (int i = 1; i <= amountOfElements.size(); i ) {
WebElement e = driver.findElement(By.xpath("(//li[contains(@data-qa-selector, 'spec-mileage')])['" i "']"));
abcd.add(e.getText());
}
System.out.println(abcd);
不幸的是, list 總是回傳第一個值九次(按元素數量)。[? 21.950 公里,? ... 21.950 公里]
如何獲取包含來自不同元素的值的串列?
uj5u.com熱心網友回復:
而不是findElement方法,您可以使用findElements. 這將為您回傳與傳遞的定位器匹配的所有 Web 元素的串列。
現在,您可以遍歷 Web 元素串列,從每個 Web 元素中提取文本。
像這樣的東西:
List<String> abcd = new ArrayList<>();
List<WebElement> list = driver.findElements(By.xpath("//li[contains(@data-qa-selector, 'spec-mileage')]"));
for (WebElement el:list){
abcd.add(el.getText());
}
uj5u.com熱心網友回復:
要列印km 的所有字串值,您可以使用Java8 stream(),map()并且可以使用以下定位器策略:
System.out.println(driver.findElements(By.xpath("//li[@data-qa-selector='spec-mileage']")).stream().map(element->element.getText()).collect(Collectors.toList()));
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/434328.html
上一篇:檢索串列中指定屬性名稱的所有值?
