Selenium webdriver - 迭代,找到 webelement 然后点击它 - 我该怎么做?

Selenium webdriver - Iterate, find webelement and then click on it - how can I do that?

我想找到可见文本“7000118777”的网络元素,但我不知道如何在列表中准确找到它,然后点击它。

当我迭代时,它显示索引为 -1,我得到错误 "productList.get(-1);" - 这不是正确的。

public void findProductAndAddToCart(String product) {

        List<WebElement> productList = SeleniumDriver.getDriver().findElements(By.className("bcom--txtBold"));

        for (WebElement webElement : productList) {
            String elements = (webElement.getAttribute("innerHTML"));
            int indexOfProduct = elements.indexOf("7000118777");

            System.out.println("Indeks produktu "+indexOfProduct);
        }
        productList.get(-1);

由于您没有向 url 提供 link 或您的 html 的屏幕截图,这就是我从您的问题中了解到您想单击可见文本为“7000118777”的列表。我也相信您找到了正确的元素,即您的 productList。请参考以下代码(将 myDriver 替换为您的 WebDriver):

 List<WebElement> productList = myDriver.findElements(By.className("bcom--txtBold"));
        for (int i=0; i< productList.size();i++) {
            String element=productList.get(i).getText();
            if(element.equals("7000118777"))
            {
                productList.get(i).click();
            } 

        }