基于更高级别标签的无线电输入的硒目标

时间:2014-10-06 06:59:30

标签: selenium xpath selenium-ide

基本上我有多个是/否的无线电组合,我需要区分。有两个标签级别 - 所以我必须将两者放在Target表达式中以选择正确的值。

HTML

<div id="divFld1279-32-6093" class="wdg">
<label title="Whether a client is currently attending secondary school" for="Fld1279-32-6093">
    At School Flag
    <span class="spc"></span>
</label>
<br></br>
<div class="rbCv">
    <label class="rbRad">
        <input class="wdg" type="radio" value="Y" name="Fld1279-32-6093"></input>
       Yes
    </label>
</div

尝试约会

如果只有一个是/否无线电选择,则此方法有效:

//label[contains(text(),'Yes')]//input[@type="radio"]

这不起作用:

//label[contains(text(), 'At School Flag')]/preceding::label[contains(text(),'Yes')]//input[@type="radio"]

迄今为止的研究

我尝试使用this post来提出解决方案,但没有运气。

1 个答案:

答案 0 :(得分:0)

为了尽量减少对您的尝试的更改,请将preceding替换为following,因为<label>包含的文字"Yes" 跟随 { {1}}包含文字<div>

然后使用简单"At School Flag"代替text()。仅当要评估的文本节点是元素的第一个子时,才使用.。作为一般规则,如果您不必使用text(),或者如果您不确定是使用text()还是text(),请使用后者,使用. (为便于阅读而包装):

.