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();
}
}
我想找到可见文本“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();
}
}