Java 如何在selenium中处理动态行?

Java 如何在selenium中处理动态行?,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我有4个动态行(val_01062),每个包含1个按钮(圈出一个),如图所示。我必须单击所有动态行上的按钮。如何处理硒? 您可以使用xpath查找表中的所有按钮,并对它们进行迭代以发送单击。根据html代码更正xpath。如果您有更多的按钮,您需要添加一些id或类过滤。您可以在chrome中轻松测试xpath,以检查是否找到了正确的元素 List<WebElement> buttons = driver.findElements(By.xpath("//table//button")

我有4个动态行(val_01062),每个包含1个按钮(圈出一个),如图所示。我必须单击所有动态行上的按钮。如何处理硒?

您可以使用xpath查找表中的所有按钮,并对它们进行迭代以发送单击。根据html代码更正xpath。如果您有更多的按钮,您需要添加一些id或类过滤。您可以在chrome中轻松测试xpath,以检查是否找到了正确的元素

List<WebElement> buttons = driver.findElements(By.xpath("//table//button"));
for( WebElement button : buttons ) {
  button.click();
}
List buttons=driver.findElements(By.xpath(“//table//button”);
用于(WebElement按钮:按钮){
按钮。单击();
}

我建议您使用本文介绍的地图-

您可以通过使用-您想要访问的方式访问它

map.get(1).get(“覆盖”).click()


map.get(“Val_01018”).get(“Override”).click()

您最好为相同的内容提供
HTML
代码。。。还可以共享您尝试过的代码,并描述您遇到的问题。您的代码HTML将太长。。我想要这个好的。在循环中使用
单击()。。。你的问题太宽了。你应该分享更具体的细节,并展示你已经做了什么来解决你的问题problem@Pope,这是这类问题的唯一好答案。。。为了得到更好的答案,你应该提出一个非常好的问题。现在看来,你只是要求别人为你写代码。。。因此,这不是一种代码编写service@Pope你不明白。答案是刮去页面上的按钮,然后像安德森所说的那样点击循环中的每一个按钮来循环。如果您想要更详细的答案,您需要提供指向该页面或一些相关HTML的链接。您编写了哪些代码,包括错误消息的结果是什么?正如其他人所说,代码编写服务并非如此。你应该提供你现有的代码,这样我们可以帮助你修复它。谢谢。让我试试,我已经厌倦了它的部分工作。只有第一个按钮被点击。rest all按钮被跳过,测试通过。如何解除列表按钮=driver.findelelements(By.xpath(“//img[(@src='/pilon/images/overide.gif')”));for(WebElement-button:buttons){button.click();}在一个简单的网站上进行了测试,在这个网站上,我搜索了某个类的表中的所有跨度,并按预期工作。如果按钮列表包含足够的元素,您是否检查了按钮列表的大小?单击某个元素是否会像刷新或导致“元素未附加到页面文档”的事件一样更改网站?或者它是否打开了一个模式,您首先需要通过selenium关闭该模式才能返回到桌面?请不要回答不完整的问题,它开创了一个糟糕的先例。这个答案太笼统,对其他人没有用处。