无法选择Checkbox,Selenium WebDriver

时间:2017-06-08 11:58:07

标签: java html selenium xpath checkbox

我无法在Java中选择Selenium WebDriver的复选框。 我试过Xpath但没有结果。 WebDriver无法单击元素。 我尝试使用Selenium IDE - 录音机,没有结果。

这是 - 复选框的

enter image description here

我试试:

1

driver.findElement(By.xpath(".//form[@id='placeOrderForm1']/div[@class='terms right']/label")).click();

2

driver.findElement(By.id("Terms1")).click();

3

driver.findElement(By.cssSelector("label")).click();

4

driver.findElement(By.xpath("//div[3]/form/div/input")).click();

没有任何作用。 请帮忙。

4 个答案:

答案 0 :(得分:1)

尝试使用JavascriptExecuter希望这会有所帮助

WebElement element = driver.findElement(By.id("Terms1"));
JavascriptExecutor jse = (JavascriptExecutor)driver;
jse.executeScript("arguments[0].click();", element );

答案 1 :(得分:0)

以下是您的问题的答案:

正如您提到的unable to select a checkbox,实际上我们没有选中复选框,我们checkmark checkbox。您描绘的checkboxid Terms1name as termsCheck`。因此,您可以使用其中一个定位器来勾选复选框,如下所示:

driver.findElement(By.id("Terms1")).click();
  

OR

element = driver.findElement(By.name("termsCheck")).click();

如果这回答你的问题,请告诉我。

答案 2 :(得分:0)

您的代码似乎正确无误。特别是这一个 -

  。

driver.findElement(By.id( “Terms1”))点击();

在页面滚动中可能无法看到您单击的元素。首先尝试移动到元素,然后单击。

试试这个 -

WebElement elem = driver.findElement(By.id("Term1"));
Actions action = new Actions(driver).
action.moveToElement(elem).click().build().perform();

希望这有帮助。

答案 3 :(得分:0)

您可以通过唯一标识符找到该元素。在这种情况下,我们可以使用名称或ID。更好的选择是使用id。

WebElement element = driver.findElement(By.name("termsCheck"));
element.click();

或者你也可以使用这个

driver.findElement(By.id("Terms1")).click();