这是HTML:
<li>
<input type="checkbox" checked="" name="selectedMstrPrivGroupList[9].mstrAuthorities[0].status"/>
Add Dexter
</li>
如何在WebDriver中单击此元素?这是一个复选框。我想使用XPath,因为我在页面中有近30个以上的复选框。这样我就可以创建一个泛型方法并只传递WebElement。我尝试了以下但没有奏效。
Driver.findElement(By.xpath("//input[contains(.,'Add Dexter')]")).click();
答案 0 :(得分:6)
如果您要在页面上点击“添加德克斯特”旁边的复选框,则可以使用:
Driver.findElement(By.xpath("//li[contains(.,'Add Dexter')]//input[@type='checkbox']")).click();
答案 1 :(得分:1)
这个是什么:
Driver.findElement(By.xpath("//input[@name='selectedMstrPrivGroupList[9].mstrAuthorities[0].status']")).click();
答案 2 :(得分:1)
你可以像这样使用,
driver.findElement(By.xpath("//li[contains(text(),'Add Dexter')]")).click()
答案 3 :(得分:1)
您可以使用xpath点击元素,如下所示:
driver.findElement(By.xpath("//input[text()='Add Dexter']")).click();
您也可以使用cssSelector而不是xpath单击该元素,如下所示:
driver.findElement(By.cssSelector("input:contains(^Add Dexter$)")).click();
注意:CssPath / CssSelector比xpath快。所以在大多数情况下使用cssSelector比使用xpath更好。