Как я могу дважды щелкнуть элемент с тем же идентификатором, индексом и именем в списке

#selenium #selenium-webdriver #appium #appium-android

Вопрос:

введите описание изображения здесь

введите описание изображения здесь

Привет всем. Как я могу щелкнуть несколько раз по элементам, которые имеют все одинаковые свойства?

Мой Код:

BasePage.java

 public By parent = By.xpath("//android.widget.LinearLayout");
public By children = By.xpath("//android.widget.TextView[@text='Remove']");

protected List<WebElement> findChildrenOfParent(By parentBy, By childrenBy) {
    waitVisibility(parentBy);
    WebElement parentElement = driver.findElement(parentBy);
    return parentElement.findElements(childrenBy);
}

protected void removeAllProductsFromCart(List<WebElement> elementList) {

    for (int i = 0; i < elementList.size(); i  ) {
        elementList.get(i).click();
                   
    }
 

CartPage.java

 public void deleteAllProductsBasket() throws InterruptedException {
                
    List<WebElement> childrenElements = findChildrenOfParent(parent, children);
    removeAllProductsFromCart(childrenElements);
            
}
 

Ответ №1:

Вы можете просто дважды щелкнуть по этим элементам:

 for (int i = 0; i < elementList.size(); i  ) {
    elementList.get(i).click();
    try {
        Thread.sleep(300);
    } catch (InterruptedException e) {
        e.printStackTrace();
    }                   
    elementList.get(i).click();
}
 

Я добавил короткий сон между щелчками, чтобы сделать его более стабильным

Комментарии:

1. Возможно, вы пытаетесь использовать неправильные элементы. Возможно, вам следует нажать на элемент «TextView:удалить»? Я не могу знать, нужно это отладить.