gpt4 book ai didi

java - 目前无法识别列表中选中/选定的单选按钮

转载 作者:行者123 更新时间:2023-12-01 09:00:57 25 4
gpt4 key购买 nike

我有一个网页,其中包含一些问题和以单选按钮的形式为问题选择的选项。如下图:

enter image description here

我一次只能选择一个单选按钮。不过,我可以随时更改我的选择。

我想识别列表中当前选中/选定的单选按钮。

下面是进行任何选择之前源页面的 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 或列表中的任何选项时,选项一中的类名称仍保持ng-touched。假设我将选择从选项 1 更改为选项 2,输入标记的类名称将更改为 ng-touched

如下面的 html 片段所示。

<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>

我没有得到任何独特的方式来识别当前选择的单选按钮。有人可以帮我吗?

最佳答案

您正在寻找的是isSelected,如果当前选择/选中输入(复选框/单选按钮),则返回True

我不确定这段代码是否完全正确,因为我不是 Java 编码员,但它可能看起来像:

for(int i=0; i<=3; i++)
{
if ( driver.findElements(By.xpath("//input[starts-with(@id, 'ec-portfolio-planner-default-questionnaire-question')]")).get(i).isSelected() )
{
WebElement selected_element = driver.findElements(By.xpath("//input[starts-with(@id, 'ec-portfolio-planner-default-questionnaire-question')]")).get(i);
}
}

关于java - 目前无法识别列表中选中/选定的单选按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41670733/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com