当尝试自动化我们的应用程序时,有两个同名的按钮。
我找不到识别这些的方法。请让我知道在 java 的 selenium webdriver 中识别这些元素的其他方法
原文由 Nagarjuna Reddy 发布,翻译遵循 CC BY-SA 4.0 许可协议
当尝试自动化我们的应用程序时,有两个同名的按钮。
我找不到识别这些的方法。请让我知道在 java 的 selenium webdriver 中识别这些元素的其他方法
原文由 Nagarjuna Reddy 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果属性没有唯一性,您可以始终使用 xpath。例如,如果你想找到一个包含文本 foo
和名称 button
的元素,那么如果名称不是唯一的,我会更喜欢 xpath,如下所示:
//*[@name='button' and text()='foo']
或者对于不同的类但名称相同
//button[@name='button' and @class='xyz']
或对于不同的文本但相同的名称
//input[@name='button' and contains(text(),'Click Here')]
或不同的标签但名称相同
//button[@name='button']
//input[@name='button']
只需使用任何独特的属性并制作自定义的 xpath。
我希望您也可以为此使用 java 脚本,例如
WebElement butttonToClick = driver.findElement(By.name("button"));
((JavascriptExecutor)driver).executeScript("arguments[1].click();",butttonToClick );
其中 arguments[1]
表示具有相同名称的第二个元素。
原文由 Priyanshu Shekhar 发布,翻译遵循 CC BY-SA 3.0 许可协议
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
您可以使用 xpath 索引选项。