java - 以下代码不适用于 Chrome 浏览器

标签 java selenium serenity-bdd serenity-js

enter image description here我创建了一个可重用的函数,它单击特定行的复选框并返回该行的文本。

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/

相关文章:

java - USB主机传输Android与Spartan 6 FPGA

java - System.out.println 表示 out 无法解析或不是字段

python - Selenium WebElements 难度

java - 使用 Gradle 命令创建 Serenity BDD 骨架项目

java - 滚动方法不执行Android应用程序中的滚动

java - 如何使用 Serenity 调用 IEDriver

java - 读取 AEM 中 DAM 下存在的 csv/.xlsx 文件

java - 如何在 Java 中序列化 ExecutorService?

python - 找到 reCAPTCHA 元素并单击它 - Python + Selenium

java - 使用 Jsoup/Selenium 从网站获取 "::before"标签后的数字数据