我无法通过selenium Web驱动程序检查复选框

时间:2016-04-22 09:30:05

标签: checkbox selenium-webdriver

请参阅下面给出的代码,帮助我找到Xpath。我是硒的新手。

<label class="checkbox">
<input class="chk-input" type="checkbox" data-bind="value: Value" value="3806">
<span data-bind="text: Text">GYM</span>
</label>

2 个答案:

答案 0 :(得分:0)

您好选中复选框,请按以下方式进行操作

 driver.findElement(By.xpath("//*[@value='3806']")).click();

<强>更新

WebDriverWait wait = new WebDriverWait (drv,20);
    // for location
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("location")));
    drv.findElement(By.xpath("location")).click();
    // for Position
    wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("Position")));
    drv.findElement(By.xpath("Position")).click();

答案 1 :(得分:0)

要使用XPath表达式找到checkbox元素,请使用以下格式:

//tagName[@attribute='value']
  • //表示在整个DOM中搜索所需元素。

  • tagName指定您要查找的元素类型。对于您的示例,它将是input

  • [@attribute='value']是仅返回属性等于指定值的元素的谓词。对于您的示例,您可以使用[@value='3806'][@class='chk-input']

如此拼凑,我们可以使用以下作为XPath表达式来查找您的复选框:

//input[@value='3806']//input[@class='chk-input']

最后,要点击元素,您只需使用WebElement.click(),如下所示:

WebElement checkbox = driver.findElement(By.xpath("//input[@value='3806']"));
checkbox.click();