我无法在Java中选择Selenium WebDriver的复选框。 我试过Xpath但没有结果。 WebDriver无法单击元素。 我尝试使用Selenium IDE - 录音机,没有结果。
这是 - 复选框的
我试试:
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();
没有任何作用。 请帮忙。
答案 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
。您描绘的checkbox
有id
Terms1
和name 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();