Vip*_*Sha 3 selenium-webdriver
我的网页上有两个列表,两个列表都有按钮(图像),可以从列表中选择所有项目.两个图像都具有相同的ID,并且没有任何其他信息,如类名,CSS,XPath.我想单击第二个图像以从第二个列表中选择所有项目.但是当Web驱动程序执行以下行时:
driver.findElement(By.id("MoveAllRight")).click();
Run Code Online (Sandbox Code Playgroud)
它总是点击第一张图片,但我希望它点击第二张图片.
有人可以帮我这个吗?
Ard*_*sco 12
别.相反,提出一个错误.这是无效的HTML.
如果您真的想继续测试无效的东西,并且您还想破坏自动化测试(您真的不想这样做),您可以执行以下操作:
driver.findElement(By.xpath("(//img[@id='MoveAllRight'])[2]")).click();
Run Code Online (Sandbox Code Playgroud)
它会起作用,但这是错误的.
它始终单击第一个,因为 findElement 将返回找到的第一个符合您条件的元素。您可以使用 findElements 返回所有匹配元素的列表,然后访问找到的第二个元素。您还可以使用 xpath,例如 //img[@id='MoveAllRight'][2]。
您可能想要做的一件事是调查是否可以创建一个 xpath,该 xpath 会考虑与其关联的下拉列表,这样您就可以确保您单击的图像始终是该特定下拉列表的图像。这的难度取决于您的应用程序。
| 归档时间: |
|
| 查看次数: |
32808 次 |
| 最近记录: |