我需要驗證 Web 表中的列是否包含所有行的完全相同的值。我已經完成了一些編碼,但我正在尋找有關如何提高性能的信息:我嘗試了一個 for 循環,對每一行使用 getText 方法并將該值與預期的字符串進行比較: List<WebElement> rows = driver.findElements(By.xpath(xxxx)) for(WebElement e : rows) { if(e.getText() != expectedString) { throwError } }我也嘗試過 Java 流和 lambda 表達式,但是最后 Collector 部分需要花費大量時間來處理: List<String> fetchedValues = rows .stream() .filter(e -> e.getText() != expectedString) .collect(Collectors.toList());如果至少其中一行不包含預期的字符串,我想獲取信息。有沒有什么辦法,例如用 Java 讀取給定列中的所有值并立即將其加載到 ArrayList?
1 回答

慕碼人2483693
TA貢獻1860條經驗 獲得超9個贊
您可以嘗試此處描述的 forEach 方法
這里有一個例子:
@Test
public void sTest () {
WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();
driver.get("https://www.techbeamers.com/handling-html-tables-selenium-webdriver/");
List<WebElement> el = driver.findElements(By.xpath("//*[@id='post-3500']/div[1]/div/p[3]/a"));
el.forEach((e)-> {
if(!e.getText().equals(expectedString)) throwError
});
driver.quit();
}
添加回答
舉報
0/150
提交
取消