selenium - 如何通过非唯一资源 ID 查找元素?
问题描述
我测试了一个使用非唯一resourse-id
元素的应用程序。
有没有办法通过 xpath 找到这样的元素
//*[@resourse-id='non-unique-id'][2]
我的意思是具有相同的第二个元素resourse-id
。
解决方案
据我了解,您需要选择具有上述路径的第二个元素://*[@resourse-id='non-unique-id']
为此,您需要先获取具有相同非唯一资源 ID 的所有元素,然后再获取get()
它们。所以,你的代码应该是:
driver.findElements(By.xpath("//*[@resourse-id='non-unique-id']")).get(1).click();
任何列表的索引都从 0 开始。因此,可以通过值 1 访问第二个元素。
希望这可以帮助。
推荐阅读
- javascript - 如何使用 withRouter 在类组件中导航或路由到渲染之外的 js 文件?
- c++ - 扩展模板参数包以声明类成员
- javascript - VC Code Intellisense 忽略 WebPack 中的 lodash 依赖项
- emacs - 在 let 中评估文件
- javascript - 如何使用 NodeJs 从服务器显示模式框?
- swift - 在 api Swift / xcode 中添加标题
- php - 在codeigniter中更新mysql中的blob
- javascript - Ajax 的经典 Asp 时事通讯订阅问题试图在不刷新页面的情况下获得加载程序和确认消息,我卡住了
- android - Firebase recyclerview 图像在重新加载应用程序后消失
- groovy - 使用来自环境变量的 url 在 Micronaut 中注入 RxHttpClient