Selenium Java - 在不使用 .click() 的情况下标记复选框处于选中状态



我想使用Selenium和Java将一些复选框标记为选中,但是在.css样式表中,它们的"宽度"和"高度"设置为"100",但在浏览器中它们显示为普通复选框。因此,Selenium 找到它们并成功执行 .click() 函数,但复选框未被选中。有没有办法在不使用 .click() 的情况下简单地将复选框设置为选中?

如果没有可重现的示例,很难说,但您可以尝试通过 javascript 单击

WebElement checkbox = driver.findElement(By.ID("mycheckbox"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", checkbox);

请参阅此处的区别:

  • WebDriver click() vs JavaScript click()

恐怕复选框上没有select()方法,但是你可以写这样的东西并重复使用它。这将抽象选择的操作

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

最新更新