使用Selenium Java,找不到包含名称的复选框元素

时间:2018-08-03 17:06:18

标签: java eclipse selenium selenium-webdriver

我试图单击仅包含名称的复选框。

这是HTML:

<td class="checkbox-column"><input type="checkbox" name="link-active[138]"></td>

这是我最近一次尝试查找元素的尝试,我尝试了很多不同的方法。我还需要没有“ [127]”部分来抓住它,因为在这种情况下这是动态的。

driver.findElement(By.xpath("//*[text()[contains(.,'link-active')]]")).click();

4 个答案:

答案 0 :(得分:1)

您使用了错误的xpath,正确的xpath是:

 driver.findElement(By.xpath("//*[contains(@name,'link-active')]")).click();

答案 1 :(得分:0)

您需要检查名称属性。

driver.findElement(By.xpath("//*[contains(@name,'link-active')]")).click();

答案 2 :(得分:0)

xpath具有名称属性方法,您可以尝试

driver.findElement(By.xpath("//*[contains(name(),'link-active')]")).click();

答案 3 :(得分:0)

您可以简单地引入webdriverwait来让脚本知道它是可见的并已启用,然后您可以尝试单击。像这样:

new WebDriverWait(driver,10).until(ExpectedConditions.elementToBeClickable(By.xpath("//input[contains(@name,'link-active')]"))).click();