java - 如何使用java处理selenium中动态生成的复选框
问题描述
我想单击动态生成的复选框的数量。如何执行该任务?请帮忙。给出下面是复选框的 Xpath 序列
//*[@id="220077552"]/td[1]/app-checkbox/label
//*[@id="220219925"]/td[1]/app-checkbox/label
//*[@id="220077552"]/td[1]/app-checkbox/label
每次自动生成此 id。
应该使用什么来查找元素?
我在下面尝试了这段代码
WaitUtils.waitForDataToLoad(getDriver());
List<WebElement> memberSelection = getDriver().findElements(By.cssSelector(".form-checkbox.notext"));
for(int count =1; count<=10; count++){
memberSelection.get(count).click();
}
解决方案
您可以使用 XPath 函数,如starts-with
,contains
或ends-with
.
示例代码如下所示:
//*[starts-with(@id, '220')]
推荐阅读
- javascript - 如何访问已动态传递的嵌套对象属性的值?
- arrays - 从数组中定义对象的键类型
- google-apps-script - 我正在寻找改进用于复制数据的代码
- mysql - 如何使用 liquibase 和 mysql 创建触发器来修复 SQL 语法错误
- azure - AZURE AD 中的 API 权限(7 月 19 日版本)
- swift - Swift - 检查弱变量是否为 nil 或不是线程安全的?
- python - 无法安装 pymqi 或 py3mqi
- azure-devops - 为什么 Newtonsoft.json 12.0.2 nuget 包无法使用 TFS 2017 Update3 中的 Nuget 还原任务进行还原?
- r - 使用 dplyr 一次生成多个列
- javascript - 动态插入元素内的Jquery函数不起作用