java - Selenium webdriver webelemenet.isSelected() 返回不正确的值

标签 java selenium selenium-webdriver webdriver

我正在尝试检查该复选框是否已选中,为此我正在使用 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/

相关文章:

java - TitledPane 中的焦点遍历策略

Java Spring : How to declare maven dependency to gradle

selenium - 如何验证复选框在选定和未选定的情况下 xpath 是否相同

c# - 使用 Selenium C# 获取 Youtube 标题

java - 使用 Selenium 访问 <ul> 中的 HTML 元素

c# - OpenQA.Selenium.NoSuchElementException 未处理 + C# + 另一个网站

java - 比较不同方法的资源使用情况

java - 如何通过 Java 脚本弹出窗口登录 Jmeter

java - 无法单击 www.mail.com/int/using Selenium WebDriver 中的“撰写”按钮

java - 如何在 java 中为 Selenium webdriver 编写我自己的自定义定位器?