如何在WebDriver with Java中使用XPATH单击此元素?

时间:2012-09-11 09:33:18

标签: java xpath click webdriver selenium-webdriver

这是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();

4 个答案:

答案 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更好。