Selenium WebDriver 没有点击第一个按钮

Selenium WebDriver is not clicking on first button

我有一个包含 5 个 'Buy' 按钮的列表。 Selenium WebDriver 没有点击第一个 'Buy' 按钮,而是点击剩下的 4 个按钮。 运行 一个 println,它显示了 WebDriver 找到的所有 5 个购买按钮。

我试过切换列表中按钮的顺序,我试过调试它,我也包括了显式等待,但没有任何帮助。有人有线索吗?

我的代码如下:

for (int i = 0; i < allProductsOnsite.size(); i ++) {
        //System.out.println(allProductsOnsite.get(i).getText());
        if (prodsToBuy.contains(allProductsOnsite.get(i).getText())) {
            System.out.println("Found -------" + allProductsOnsite.get(i).getText() );
            WebDriverWait wt = new WebDriverWait(driver, 15);
            wt.until(ExpectedConditions.visibilityOfAllElements(allProductsOnsite));

            allBuyButtons.get(i).click();
        }
}

尝试使用JavascriptExecutor点击

WebElement element= driver.findElement(By.xpath(".//*[@id='loginButton']/div"));

JavascriptExecutor executor = (JavascriptExecutor) driver;
executor.executeScript("arguments[0].click();", element);

如果需要,在此代码之前也使用一些等待

希望这对您有所帮助:)