【问题标题】:Checkbox click with Firefox using selenium 3 not working?使用 selenium 3 使用 Firefox 单击复选框不起作用?
【发布时间】:2018-03-12 22:39:01
【问题描述】:

我有以下代码在选中复选框时取消选中该复选框,但是当我运行测试时,我可以看到复选框在不到几秒钟内未选中,并且在不到几秒钟后再次自动选中。但我对 Chrome 和 IE 没有任何问题。 我正在使用 Firefox Quantum(58.0.2 64 位),rememberMe 是复选框 id。

if (driver.findElement(By.xpath("//*[@id='rememberMe']")).isSelected()) {
        Thread.sleep(6000);
        driver.findElement(By.xpath("//*[@id='rememberMe']")).click(); --> here it should uncheck check box.
       Thread.sleep(6000);          
}

我已经使用了所有其他选项,例如等待元素、发送密钥等。有人可以指点我正确的方向吗?

【问题讨论】:

  • 正确的方向是:从不(拼写为 NEVER)使用Thread.sleep。这只是浪费时间。试试ExpectedConditions.elementToBeClickable(By locator) 之类的聪明方法,然后单击取消选中。

标签: java selenium firefox selenium-webdriver selenium-firefoxdriver


【解决方案1】:

我会做更多这样的事情

WebElement checkbox = new WebDriverWait(driver, 10).until(ExpectedConditions.elementToBeClickable(By.id("rememberMe")));
if (checkbox.isSelected())
{
    checkbox.click();
}

它等待元素可点击,然后在它被选中时点击它。

【讨论】:

  • 感谢您的回复 JeffC。我已经用您的代码进行了测试,我可以看到复选框未选中不到 1 秒,并且复选框再次被自己单击一次,并且选中了 checkbox 。会不会是火狐浏览器的问题?
  • 你能发一个链接到页面吗?
猜你喜欢
  • 1970-01-01
  • 2020-10-06
  • 2019-10-10
  • 2022-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 2021-12-02
相关资源
最近更新 更多