我正在尝试检查该复选框是否已选中,为此我正在使用 isSelected。 我的复选框是一个 div
div class="mainSprite chkBox" data-dojo-attach-event="onclick:toggle" data-dojo-attach-point="chkNode"
我发现带有 xpath 的 div 和 isSelected 总是返回 false,无论复选框是否被选中。 我正在使用 slenium webdriver 2.40 和 FF28
最佳答案
我也遇到过类似的情况。一条线索是:
<table id="dijit__TemplatedMixin_14" class="chkBoxCntr chkBoxChecked"...
使用 FireBug,我必须检查和取消选中文本框,并查看 html 以了解我的元素的哪些属性不同。然后我写了一个 jQuery 来找出差异。下面是一个示例函数,其中包含我使用的 2 个不同的返回语句。
@SuppressWarnings("unchecked")
public List<WebElement> getSelectedItems() throws InterruptedException {
List<WebElement> list = (List<WebElement>) ((JavascriptExecutor) driver)
.executeScript("return jQuery.find('[class*=\"FIChecked\"]')");
//.executeScript("return jQuery.find('[checked=\"checked\"]')");
return list;
}
使用它作为起点并尝试一下搜索。我的猜测是
<table id="dijit__TemplatedMixin_14" class="chkBoxCntr chkBoxChecked" widgetid="dijit__TemplatedMixin_14">
将切换到
<table id="dijit__TemplatedMixin_14" class="chkBoxCntr" widgetid="dijit__TemplatedMixin_14">
当未选择该项目时。因此,如果每个框都未选中,则调用 getSelectedItems().size 应等于 0。
关于java - Selenium webdriver webelemenet.isSelected() 返回不正确的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23399319/