Selenium Java - 选中标记复选框而不使用.click()

时间:2016-02-01 14:13:00

标签: java selenium

我希望使用Selenium和Java标记一些复选框,但是在.css样式表中他们的" width"和"身高"设置为" 100",但在浏览器中它们显示为普通复选框。因为这个selenium找到它们并成功执行.click()函数,但是复选框没有被选中。 有没有办法简单地将复选框设置为选中而不使用.click()?

2 个答案:

答案 0 :(得分:1)

如果没有可重现的样本很难说,但您可以尝试通过javascript点击

WebElement checkbox = driver.findElement(By.ID("mycheckbox"));

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

见这里的差异:

  • {{3}}

答案 1 :(得分:1)

我担心复选框上没有select()方法, 但你可以写这样的东西并重复使用它......这将抽象选择

的操作
if ( !driver.findElement(By.id("idOfTheElement")).isSelected() )
{
    driver.findElement(By.id("idOfTheElement")).click();
}