Selenium Java-选中复选框而不使用。单击()
我想使用Selenium和Java将一些复选框标记为选中状态,但在.css样式表中,它们的“宽度”和“高度”设置为“100”,但在浏览器中它们显示为普通复选框。因此,selenium会找到它们并成功执行.click()函数,但复选框不会被选中。Selenium Java-选中复选框而不使用。单击(),java,selenium,Java,Selenium,我想使用Selenium和Java将一些复选框标记为选中状态,但在.css样式表中,它们的“宽度”和“高度”设置为“100”,但在浏览器中它们显示为普通复选框。因此,selenium会找到它们并成功执行.click()函数,但复选框不会被选中。 是否有一种方法可以简单地将复选框设置为选中,而不使用.click() 没有可复制的样本很难说,但您可以尝试通过javascript单击: 请看这里的区别: 没有可复制的样本很难说,但您可以尝试通过javascript单击: 请看这里的区别: 恐怕
是否有一种方法可以简单地将复选框设置为选中,而不使用.click() 没有可复制的样本很难说,但您可以尝试通过javascript单击: 请看这里的区别:
- 没有可复制的样本很难说,但您可以尝试通过javascript单击:
请看这里的区别:
if ( !driver.findElement(By.id("idOfTheElement")).isSelected() )
{
driver.findElement(By.id("idOfTheElement")).click();
}
恐怕复选框上没有select()方法, 但是你可以写这样的东西,然后再利用它。。它将抽象select的操作
if ( !driver.findElement(By.id("idOfTheElement")).isSelected() )
{
driver.findElement(By.id("idOfTheElement")).click();
}
这与click()很相似,调用JS执行器会增加额外的开销吗?@codeMan不,这完全不同:。我不知道!作者还说这应该“几乎永远”使用。@codeMan好吧,这取决于你想做什么。如果这是为了抓取,或者是为了解决特定于浏览器的问题而采取的一种变通方法,那么这是非常好的。我同意,在对应用程序进行UI测试时应该避免这种情况。这与click()类似,但调用JS执行器会增加额外的开销吗?@codeMan不,这两种情况完全不同:。我不知道这一点!作者还说这应该“几乎永远”使用。@codeMan好吧,这取决于你想做什么。如果这是为了抓取,或者是为了解决特定于浏览器的问题而采取的一种变通方法,那么这是非常好的。我同意,通常在UI测试应用程序时应该避免这种情况。问题是正常。单击()不会激活复选框。问题是正常。单击()不会激活复选框。