java - 即使显示复选框,单击复选框也无法使用 Selenium webdriver

标签 java selenium selenium-webdriver click

使用 Selenium webdriver,我尝试单击复选框但无法执行此操作,即使显示该元素也是如此。

下面是我的代码:

WebElement element = 
new WebDriverWait(webDriver, 1000).until(ExpectedConditions.presenceOfElementLocated(By.xpath(prop.getProperty(object))));
element.isDisplayed(); // returns true
element.getAttribute("type"); // returns checkbox
element.isSelected(); // returns false

element.click();
element.isSelected(); // still returns false

元素已显示,但我仍然无法选中该复选框。 可能是什么原因?我哪里错了?

最佳答案

您可以尝试移动到复选框然后单击:

Actions actions = new Actions(driver);
actions.moveToElement(element).click().build().perform();

或者,通过 JavaScript 进行点击:

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", element);

但是,请确保您了解必须这样做的原因:WebDriver click() vs JavaScript click()

关于java - 即使显示复选框,单击复选框也无法使用 Selenium webdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34948210/

相关文章:

java - 多线程 - 为所有变量请求一次输入 (Java)

java - 如何在同一个JSP中获取文本框值而不提交它?

selenium - 在 Selenium 中为远程 Webdriver 设置设备宽度

java - Selenium 入门指南,我做错了什么?

selenium - Jenkins 中的条件构建后步骤(理想情况下没有插件)

Selenium WebDriver - 使用 cssSelector 和第 n 个子元素查找元素

java - 用于 Java 的 C++ setw()

java.lang.ClassNotFoundException : org. apache.poi.ss.formula.udf.IndexedUDFFinder

selenium - 使用WebdriverJS时如何访问错误?

python - 如何在 Python 中使用 Selenium 进行参数化/数据驱动测试