Javascript Ruby-Selenium Webdriver,AngularJS Radiobutton无法检测属性

Javascript Ruby-Selenium Webdriver,AngularJS Radiobutton无法检测属性,javascript,ruby,angularjs,selenium-webdriver,Javascript,Ruby,Angularjs,Selenium Webdriver,我无法检测单选按钮上的“选中”属性 我有两个单选按钮,如下所示: 以下是元素属性: <input type="radio" ng-change="logConsent(true)" ng-model="xxxConsent" value="true" id="xx_Summary_Radio_Consent_Yes" name="consent" class="ng-valid ng-dirty"> 及 使用SeleniumWebDriver,element.attrib

我无法检测单选按钮上的“选中”属性

我有两个单选按钮,如下所示:

以下是元素属性:

<input type="radio" ng-change="logConsent(true)" ng-model="xxxConsent" value="true" id="xx_Summary_Radio_Consent_Yes" name="consent" class="ng-valid ng-dirty">


使用SeleniumWebDriver,
element.attribute('checked')
始终返回nil。我不知道如何检查其是否已选中/启用。我尝试在Chrome inspect中扫描更改:在检查单选按钮之前和之后,属性都不会更改。有人能帮我核实一下吗


同样对于版主/用户::我不能在StackOverflow中关联其他“单选按钮”问题和我的答案,尽管我可以看到很多这样的问题。这就是为什么我提出了一个单独的问题。

根据提供的HTML代码,没有选中的属性,但您正在尝试检索它。这就是它给你空值的原因。我希望根据HTML提供的“value”属性,一个为True,另一个为False。所以我希望选中的单选按钮具有value=“True”,所以请尝试value属性

在Java中,我们可以尝试以下方法

    myWebElement.getAttribute("value");  //this retrieve true or false

    // or we  can try like below also

    if(myWebElement.isEnabled() ==true){

        //my elemented is in selected state

    }
谢谢,
Murali

您好,我可以看到HTML具有值属性

它们应该类似于使用一个事件指令来记录这样的点击次数,读取属性值true和false,并生成您正在谈论的历史记录


我相信你可以试试这个-为ng dirty设置一个事件监听器?或者不管它触发了什么。与开发人员核实,他们应该能够提供帮助。根据triggerd事件,您可以检测到单击是否工作正常-至少根据您所描述的情况。在这里,如果您能够读取值true false,那么您将检测到一个事件和一个HTML节点属性值-这将确认单击。虽然您没有完全验证选中的属性。

Update::元素将类从-
ng valid ng valid required
::更改为
ng valid ng valid required ng dirty
。但我注意到的是,一旦我们尝试单击“是”和“否”,两者都会更改状态,但不会刷新回原始状态。这与checked属性有什么关系?[最后他们两个都是ng dirty]嗨,Murali,我意识到了这一点,并接受了同样的测试——事实上,这是第一件事。第一个始终为真,第二个始终为假。[始终,无论有多少动作]。其他信息-您看到右侧的窗口弹出按钮-提供弹出窗口打开时单击是和否的累积历史记录。从本质上讲,它以某种方式存储了所有点击操作和执行的时间。
    myWebElement.getAttribute("value");  //this retrieve true or false

    // or we  can try like below also

    if(myWebElement.isEnabled() ==true){

        //my elemented is in selected state

    }