我有这样的dom结构
<tr class="">
<td class="labelCol requiredInput">
<label for="name_lastacc2" class="">
<span class="requiredMark">*</span>
Last Name</label>
</td>
<td class="dataCol col02">
<div class="requiredInput">
<div class="requiredBlock"></div>
<input id="name_lastacc2" maxlength="80" name="name_lastacc2" size="20" tabindex="3" type="text"></div>
</td>
<td class="labelCol">
<label for="00NG0000008Rybp">Business Ext.</label>
</td>
<td class="dataCol">
<input id="00NG0000008Rybp" maxlength="10" name="00NG0000008Rybp" size="20" tabindex="22" type="text"></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我试图找到其标签旁边的输入框.
例如:
姓: ________________
我尝试过使用xpath查询
//label[contains(text(),'Last Name']/../following-sibling::*/div/input[@type='text']
Run Code Online (Sandbox Code Playgroud)
但我收到[INVALID XPATH EXPRESSION]错误.我哪里错了?
您的路径表达式缺少结束括号contains()
.
//label[contains(text(),'Last Name')]/../following-sibling::*/div/input[@type='text']
Run Code Online (Sandbox Code Playgroud)
但话虽如此,我认为你的路径表达现在并不正确.您的表达式将匹配父项的任何后续兄弟label[contains(text(),'Last Name')]
.你想要它找到的是input
紧随其后的元素.
原始表达式只找到一个input
元素的唯一原因是第二个嵌套在另一个元素中div
.但我认为你不应该依赖它.
相反,尝试:
//label[contains(.,'Last Name')]/following::input[1]
Run Code Online (Sandbox Code Playgroud)
然后,结果是
<input id="name_lastacc2" maxlength="80" name="name_lastacc2" size="20" tabindex="3" type="text"/>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10861 次 |
最近记录: |