如何双击列表中具有相同 ID、索引和名称的元素
Posted
技术标签:
【中文标题】如何双击列表中具有相同 ID、索引和名称的元素【英文标题】:How can I double click the element with the same id, index and name in the list 【发布时间】:2021-10-23 07:58:13 【问题描述】:enter image description here
enter image description here
大家好。如何在具有所有相同属性的元素上多次单击?
我的代码:
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();
我在点击之间添加了短暂的睡眠以使其更稳定
【讨论】:
您可能正在尝试使用错误的元素。可能你应该点击“TextView:remove”元素?我不知道,需要调试一下。以上是关于如何双击列表中具有相同 ID、索引和名称的元素的主要内容,如果未能解决你的问题,请参考以下文章
合并两个相同长度的Scala列表,同一个索引的元素成为一个元素
htmlDocument.GetElementById 返回具有相同名称的元素,而不是 id