【发布时间】:2017-01-16 06:39:33
【问题描述】:
我有一个网页,其中包含一些问题和选项,以单选按钮的形式为问题选择。 如下图:
我一次只能选择一个单选按钮。 不过,我可以随时更改我的选择。
我想在列表中识别当前选中/选中的单选按钮。
以下是选择前的源页面html代码
<div class="ec-question-radios ng-scope">
<!-- ngRepeat: option in settings.get('options') -->
<div class="ec-question-radios__radio ng-scope" data-ng-click="setValue(option.id)" data-ng-repeat="option in settings.get('options')" role="button" tabindex="0">
<label class="ec-question-radios__label">
<input id="ec-portfolio-planner-default-questionnaire-question21" class="ec-question-radios__input ng-pristine **ng-untouched** ng-valid ng-empty" type="radio" value="1" data-ng-model="$parent.ngModel" name="ec-portfolio-planner-default-questionnaire-question21" aria-invalid="false"/>
<span class="ec-question-radios__text ng-binding"> It wouldn't have an impact on my standard of living and I wouldn't need to use any additional resources (for example, savings) as a result. </span>
</label>
</div>
<!-- end ngRepeat: option in settings.get('options') -->
<div class="ec-question-radios__radio ng-scope" data-ng-click="setValue(option.id)" data-ng-repeat="option in settings.get('options')" role="button" tabindex="0">
<label class="ec-question-radios__label">
<input id="ec-portfolio-planner-default-questionnaire-question22" class="ec-question-radios__input ng-pristine **ng-untouched** ng-valid ng-empty" type="radio" value="2" data-ng-model="$parent.ngModel" name="ec-portfolio-planner-default-questionnaire-question22" aria-invalid="false"/>
<span class="ec-question-radios__text ng-binding"> I have other resources I could fall back on. </span>
</label>
</div>
我也找到了一种解决方案,在进行任何选择后,输入选项卡中的 ng-untouched 类名称更改为 ng-touched。 但是,当我将选择从选项 1 更改为选项 2 或 3 或列表中的任何选项时,选项 1 中的类名仍然是 ng-touched。假设我将选择从选项 1 更改为 2,输入标签的类名更改为 ng-touched。
如下html sn-p所示。
<div class="ec-question-radios__radio ng-scope" data-ng-click="setValue(option.id)" data-ng-repeat="option in settings.get('options')" role="button" tabindex="0">
<label class="ec-question-radios__label">
<input id="ec-portfolio-planner-default-questionnaire-question21" class="ec-question-radios__input ng-pristine ng-valid ng-not-empty ng-touched" type="radio" value="1" data-ng-model="$parent.ngModel" name="ec-portfolio-planner-default-questionnaire-question21" aria-invalid="false"/>
<span class="ec-question-radios__text ng-binding"> It wouldn't have an impact on my standard of living and I wouldn't need to use any additional resources (for example, savings) as a result. </span>
</label>
</div>
<!-- end ngRepeat: option in settings.get('options') -->
<div class="ec-question-radios__radio ng-scope" data-ng-click="setValue(option.id)" data-ng-repeat="option in settings.get('options')" role="button" tabindex="0">
<label class="ec-question-radios__label">
<input id="ec-portfolio-planner-default-questionnaire-question22" class="ec-question-radios__input ng-pristine ng-valid ng-not-empty ng-touched" type="radio" value="2" data-ng-model="$parent.ngModel" name="ec-portfolio-planner-default-questionnaire-question22" aria-invalid="false"/>
<span class="ec-question-radios__text ng-binding"> I have other resources I could fall back on. </span>
</label>
</div>
<!-- end ngRepeat: option in settings.get('options') -->
<div class="ec-question-radios__radio ng-scope" data-ng-click="setValue(option.id)" data-ng-repeat="option in settings.get('options')" role="button" tabindex="0">
<label class="ec-question-radios__label">
<input id="ec-portfolio-planner-default-questionnaire-question23" class="ec-question-radios__input ng-pristine ng-untouched ng-valid ng-not-empty" type="radio" value="3" data-ng-model="$parent.ngModel" name="ec-portfolio-planner-default-questionnaire-question23" aria-invalid="false"/>
<span class="ec-question-radios__text ng-binding"> It would have an impact on my immediate standard of living. </span>
</label>
</div>
我没有得到任何独特的方式来识别当前选择的单选按钮。 有谁能帮帮我吗?
【问题讨论】:
-
找到了使用 JavaScript 的解决方案。感谢您的所有回答。
标签: java selenium selenium-webdriver