【发布时间】:2020-05-12 08:40:58
【问题描述】:
如题——如何正确刷新“productList”,最终在目录中找到具体的产品?
即使产品本身在页面上可见,此方法也会一直点击“显示下一个产品”按钮。这意味着“productList”尚未刷新。
public void findProductAndAddToCart() {
//searching for products by className
List<WebElement> productList = SeleniumDriver.getDriver().findElements(By.className("bcom--txtBold"));
for (int i = 0; i < productList.size(); i++) {
//getting the numbers of the products
String element = productList.get(i).getText();
if (element.equals("7000029644")) {
productList.get(i).isDisplayed();
System.out.println("Product is displayed");
SeleniumDriver.getDriver().findElement(By.xpath("XPATH - Add to Cart Button')]")).click();
break;
} else {
//the product hasn't been found, so need to click "Show Next Products"
SeleniumDriver.getDriver().findElement(By.xpath("//a[contains(.,'Show Next')]")).click();
List<WebElement> newProductList = SeleniumDriver.getDriver().findElements(By.className("bcom--txtBold"));
productList.addAll(newProductList);
}
【问题讨论】:
-
如果我没看错,您的意思是说您在控制台中看不到“产品已显示”吗?而是执行到 else 语句?
-
是的,完全正确。它一直在搜索..
-
能否分享一下网址,我们也可以试试
-
我希望我能。这是需要凭据的内部公司网站的测试环境,我无法透露;//
-
我已经添加了。 1) 产品编号 2) 显示下一个按钮 3) 添加到购物车按钮
标签: java selenium selenium-webdriver automated-tests functional-testing