java - 下面的代码不适用于 Chrome 浏览器
问题描述
我创建了一个可重用的函数,它单击特定行的复选框并返回该行的文本。
CheckBoxXpath-> private static final String XPATH_JOBRATECATEGORIES_CHECKBOX_LIST = "//kendo-grid-list//table/tbody/tr/td[1]/label";
RowXpath -> private static final String XPATH_JOBRATECATEGORIES_LIST = "//kendo-grid-list//table/tbody/tr/td[2]//div//div";
count-> 0 (I want to click only first row check box)
public String Select_CheckBox_Return_SelectedText(String CheckBoxXpath,String RowXpath, int Count) {
List<WebElementFacade> listOfCheckBox = findAll(By.xpath(CheckBoxXpath));
List<WebElementFacade> listOfrow = findAll(By.xpath(RowXpath));
if(listOfCheckBox.size()>Count) {
for (int i = 0; i <= Count; i++) {
listOfCheckBox.get(i).click();
String Actual=listOfrow.get(i).getText();
}
}else {
Assert.fail("Need to have more rows to fullfill the requirement");
return null;
}
return Actual;
}
这适用于 Firefox 浏览器,但不适用于 Chrome 浏览器。调试代码在->“listOfCheckBox.get(i).click();”上抛出异常 我无法理解为什么它的行为如此怪异。需要帮忙。提前致谢。
解决方案
您需要定位复选框,而不是 xpath 中的标签:
//kendo-grid-list//table/tbody/tr/td[1]/input[@type='checkbox']
推荐阅读
- reactjs - 反应socket io太多连接错误
- node.js - 查找 - 未找到关系 xxx
- sql - Oracle SQL - 如何显示 2 位小数
- amazon-web-services - AWS-RunShellScript 调用 python 脚本但找不到 python 模块
- qt - 如何在 QToolButton 中为指标设置右边距?
- collections - Rust:没有为 struct `std::string::String` 找到名为 `join` 的方法
- firebase - Flutter:每当打开屏幕时自动运行一个函数
- go - 如何与消费者共享 Golang 包测试数据文件?
- python - python中的多部分表单数据请求(发送2个文件和其他字段数据)
- git - Git新的孤立分支删除所有历史记录减小大小