代码之家  ›  专栏  ›  技术社区  ›  JustStarted

Selenium HtmlUnitDriver点击复选框

  •  1
  • JustStarted  · 技术社区  · 8 年前

    但是当我切换到 HtmlUnitDriver ,它将在点击复选框操作时抛出错误。引发的错误为

    我尝试了多种方法,如:

    driver.findElement(By.xpath("//*[@id=\"chkConfirm\"]")).sendKeys(Keys.SPACE);
    driver.findElement(By.xpath("//*[@id=\"chkConfirm\"]")).click();
    

    但这一切都不管用。有人能帮我吗?

    3 回复  |  直到 8 年前
        1
  •  0
  •   Buaban    8 年前

    你能在点击元素之前添加等待吗?请参见下面的示例。

    WebDriverWait wait = new WebDriverWait(driver, 20);
    wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id=\"chkConfirm\"]")));
    driver.findElement(By.xpath("//*[@id=\"chkConfirm\"]")).click();
    
        2
  •  0
  •   JustStarted    8 年前

    可以我尝试了两种建议的答案,但都不奏效。

    PhantomJS

    谢谢大家!

        3
  •  0
  •   piet.t Charis A.    8 年前
    WebElement checkBox = driver.findElement(By.xpath("//*[@id='chkConfirm']"))
    checkBox.isDisplayed();
    if(!checkBox.isSelected())
    checkBox.click();
    

    试试这个街区。