单击单选按钮

辛巴达

我有以下呈现的 HTML

<div class="col-xs-8 no-padding">
    <label class="radio-inline gender-label">
        <input type="radio" name="gender" id="male-signup" value="MALE" ng-model="signup.gender" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
        <label for="male-signup">Male</label>
    </label>
    <label class="radio-inline gender-label">
        <input type="radio" name="gender" id="female-signup" value="FEMALE" ng-model="signup.gender" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
        <label for="female-signup">Female</label>
    </label>
</div>

因此,要选择男性单选按钮,我执行了以下操作

element(by.id('male-signup')).click();

它抱怨 Element not visible

然后我做了

var EC = protractor.ExpectedConditions;
var gender = element(by.id('male-signup'));
browser.wait(EC.visibilityOf(gender), 5000);
gender.click();

它抱怨 Failed: Wait timed out after 5005ms

代码有什么问题?我只想点击性别男性单选按钮

更新:

根据“恩斯特·茨温利”(Ernst Zwingli) 的以下答案之一,我尝试了以下方法。然而,它仍然抱怨Failed: Wait timed out after 5005ms

var EC = protractor.ExpectedConditions;
var gender = element(by.id('male-signup')).element(by.xpath('//*[@id="top"]/div[2]/div/div/div/form/div[8]/div[2]/label[1]/label'));
browser.wait(EC.visibilityOf(gender), 5000);
gender.click();
恩斯特·茨温利

由于您可能还可以单击标签来选择单选按钮,因此要有效单击的元素可能是其父元素。

试试这个:

//select your element, then go to its parent-element.
element(by.id('male-signup')).element(by.xpath('..')).click();

或者使用您的等待声明:

var EC = protractor.ExpectedConditions;
//this selects the <label class="radio-inline gender-label"> above "male-signup"
//potentially the parent-element is visible instead of the id-element
var gender = element(by.id('male-signup')).element(by.xpath('..'));
browser.wait(EC.visibilityOf(gender), 5000);
gender.click();

这是您的 HTML 页面作为片段,您可以在其中看到,单击标签也有效。

<html>
<head></head>
<body>
  <div class="col-xs-8 no-padding">
      <label class="radio-inline gender-label">
          <input type="radio" name="gender" id="male-signup" value="MALE" ng-model="signup.gender" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
          <label for="male-signup">Male</label>
      </label>
      <label class="radio-inline gender-label">
          <input type="radio" name="gender" id="female-signup" value="FEMALE" ng-model="signup.gender" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required">
          <label for="female-signup">Female</label>
      </label>
  </div>
</body>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

单选按钮单击

来自分类Dev

单选按钮单击事件

来自分类Dev

模拟单击单选按钮

来自分类Dev

单击禁用的单选按钮

来自分类Dev

单选按钮(如果单击)

来自分类Dev

单击单选按钮硒

来自分类Dev

单选按钮未单击就单击

来自分类Dev

jQuery使单选按钮不可单击

来自分类Dev

单击单选按钮的处理程序

来自分类Dev

RSelenium单选按钮不可单击

来自分类Dev

Javascript或JQuery:单击单选按钮

来自分类Dev

防止单选按钮被完全单击

来自分类Dev

单击单选按钮的处理程序

来自分类Dev

查找单击的单选按钮的标题

来自分类Dev

类的单选按钮单击了jquery

来自分类Dev

WebDriver:无法单击“单选按钮”

来自分类Dev

使div禁用单击单选按钮

来自分类Dev

Python Selenium:单击单选按钮

来自分类Dev

执行单选按钮,单击链接后单击

来自分类Dev

单击单选按钮,然后显示提交按钮

来自分类Dev

即使单击了提交按钮,仍保留单选按钮

来自分类Dev

单击按钮时检查单选按钮

来自分类Dev

单击单元格上的单选按钮

来自分类Dev

单击图像时选择单选按钮

来自分类Dev

单击单选按钮时的jQuery slidedown()slideup()

来自分类Dev

如何使单选按钮文本也可单击?

来自分类Dev

单击Angular UI Bootstrap单选按钮

来自分类Dev

单击单选按钮的标签时双击

来自分类Dev

单击单选按钮输入时显示模态