我希望使用Selenium和Java标记一些复选框,但是在.css样式表中他们的" width"和"身高"设置为" 100",但在浏览器中它们显示为普通复选框。因为这个selenium找到它们并成功执行.click()函数,但是复选框没有被选中。 有没有办法简单地将复选框设置为选中而不使用.click()?
答案 0 :(得分:1)
如果没有可重现的样本很难说,但您可以尝试通过javascript点击:
WebElement checkbox = driver.findElement(By.ID("mycheckbox"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].click();", checkbox);
见这里的差异:
答案 1 :(得分:1)
我担心复选框上没有select()方法, 但你可以写这样的东西并重复使用它......这将抽象选择
的操作if ( !driver.findElement(By.id("idOfTheElement")).isSelected() )
{
driver.findElement(By.id("idOfTheElement")).click();
}