我创建了一个可重用的函数,它单击特定行的复选框并返回该行的文本。
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']
关于java - 以下代码不适用于 Chrome 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60320109/