3

这是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

4 回答 4

6

如果“添加 Dexter”旁边的复选框是您要在页面上单击的内容,您可以使用:

Driver.findElement(By.xpath("//li[contains(.,'Add Dexter')]//input[@type='checkbox']")).click();
于 2012-09-11T09:57:19.610 回答
1

这个是怎么回事:

  Driver.findElement(By.xpath("//input[@name='selectedMstrPrivGroupList[9].mstrAuthorities[0].status']")).click();
于 2012-09-11T09:36:46.907 回答
1

你可以这样使用, driver.findElement(By.xpath("//li[contains(text(),'Add Dexter')]")).click()

于 2012-09-12T08:54:48.447 回答
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 更好。

于 2012-09-12T11:19:12.540 回答