Ann*_*nna -1 java selenium selenium-webdriver
如何更改此方法以使用不同数量的元素?有时可能有3个元素,另一个时间5.我希望这个循环可以找到元素,只要它能找到它,如果没有,就可以打破.现在,当只有3个元素时,会出现"无法定位元素"的错误,测试失败.
public void checkProductsInOrder() {
for (int i = 1; i <= 5; i++) {
WebElement element = driver.findElement(By.xpath("(//td[@data-id=\"product_name\"])[" + i + "]"));
wait.until(ExpectedConditions.visibilityOf(element));
productsInOrder.add(element.getText());
}
Run Code Online (Sandbox Code Playgroud)
您可以使用该findElements方法查找所有匹配的元素,然后仅针对匹配的元素迭代循环.findElements方法将根据定位器找到所有匹配的元素.
请检查修改后的代码
//It will match all the product name based on the xpath (index alone needs to be removed from your index)
List<WebElement> element = driver.findElements(By.xpath("(//td[@data-id='product_name'])"));
int size=element.size();
for(int i=0;i<size;i++){
productsInOrder.add(element.get(i).getText());
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
114 次 |
| 最近记录: |