我有一个包含5列的表格。第2列有一些名称的文本。第1列是单选按钮。第3,4和5列是一个单选按钮。 我想从第3列中选择名称文本为“MaidenName”
的单选按钮我可以找到MaidenName然后我尝试使用follow-sibling转到下一列。我的XPATH无效。
我的XPATH是:
//table[@id="data_configuration_edit_mapping_tab_mappings_ct_mapping_body"]/tbody//tr//td//div//span[text()="MAIDENNAME"]/following-sibling::td[2]//div//span[@type="radio"]
HTML示例是:
<table id="data_configuration_edit_mapping_tab_mappings_ct_mapping_body" cellspacing="0"
style="table-layout: fixed; width: 100%;">
<colgroup>
<tbody>
<tr class="GJPPK2LBFG" __gwt_subrow="0" __gwt_row="0">
# few trs here. I have removed. too long to paste otherwise
<tr class="GJPPK2LBFG" __gwt_subrow="0" __gwt_row="12">
<td class="GJPPK2LBEG GJPPK2LBGG GJPPK2LBHG">
<td class="GJPPK2LBEG GJPPK2LBGG">
<div __gwt_cell="cell-gwt-uid-1076" style="outline-style:none;">
<span class="" title="DOB"
style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;empty-cells:show;display:block;padding-right: 1px;">DOB</span>
</div>
</td>
<td class="GJPPK2LBEG GJPPK2LBGG">
<div __gwt_cell="cell-gwt-uid-1077" style="outline-style:none;">
<input type="radio" name="rb3386"/>
</div>
</td>
<td class="GJPPK2LBEG GJPPK2LBGG">
<div __gwt_cell="cell-gwt-uid-1078" style="outline-style:none;">
<input type="radio" name="rb3386"/>
</div>
</td>
<td class="GJPPK2LBEG GJPPK2LBGG GJPPK2LBBH">
<div __gwt_cell="cell-gwt-uid-1079" style="outline-style:none;">
<input type="radio" checked="" name="rb3386"/>
</div>
</td>
</tr>
<tr class="GJPPK2LBEH" __gwt_subrow="0" __gwt_row="13">
<td class="GJPPK2LBEG GJPPK2LBFH GJPPK2LBHG">
<div __gwt_cell="cell-gwt-uid-1075" style="outline-style:none;">
<input type="radio" name="rbCrossRow119"/>
</div>
</td>
<td class="GJPPK2LBEG GJPPK2LBFH">
<td class="GJPPK2LBEG GJPPK2LBFH">
<td class="GJPPK2LBEG GJPPK2LBFH">
<td class="GJPPK2LBEG GJPPK2LBFH GJPPK2LBBH">
</tr>
<tr class="GJPPK2LBFG GJPPK2LBMG" __gwt_subrow="0" __gwt_row="14">
<td class="GJPPK2LBEG GJPPK2LBGG GJPPK2LBHG GJPPK2LBNG">
<td class="GJPPK2LBEG GJPPK2LBGG GJPPK2LBNG">
<div __gwt_cell="cell-gwt-uid-1076" style="outline-style:none;">
<span title="MAIDENNAME"
style="white-space:nowrap;overflow:hidden;text-overflow:ellipsis;empty-cells:show;display:block;padding-right: 1px;">MAIDENNAME</span>
</div>
</td>
<td class="GJPPK2LBEG GJPPK2LBGG GJPPK2LBNG">
<div __gwt_cell="cell-gwt-uid-1077" style="outline-style:none;">
<input type="radio" name="rb3388"/>
</div>
</td>
<td class="GJPPK2LBEG GJPPK2LBGG GJPPK2LBNG">
<div __gwt_cell="cell-gwt-uid-1078" style="outline-style:none;">
<input type="radio" name="rb3388"/>
</div>
</td>
<td class="GJPPK2LBEG GJPPK2LBGG GJPPK2LBBH GJPPK2LBNG">
<div __gwt_cell="cell-gwt-uid-1079" style="outline-style:none;">
<input type="radio" checked="" name="rb3388"/>
</div>
</td>
</tr>
<tr class="GJPPK2LBEH" __gwt_subrow="0" __gwt_row="15">
<tr class="GJPPK2LBFG" __gwt_subrow="0" __gwt_row="16">
</tbody>
</table>
找到MaideName后,我想在2列中选择MaidenName第2列中的单选按钮
谢谢Riaz
答案 0 :(得分:0)
我现在已经解决了。我应该使用以下属性。它在同一行中。 follow-sibling将转到下一个tr节点。 需要留在同一个节点。
我的工作XPATH是:
//table[@id="data_configuration_edit_mapping_tab_mappings_ct_mapping_body"]/tbody//tr//td//div//span[text()="MAIDENNAME"]/following::td[2]//div//input
答案 1 :(得分:0)
我会在tr
点停止检查相应列中是否有MAIDENNAME
文本,然后在此行中获取所需的列:
//table[@id="data_configuration_edit_mapping_tab_mappings_ct_mapping_body"]/tbody//
tr[td[2]/div/span/text()="MAIDENNAME"]/
td[3]/div/input[@type="radio"]
为了便于阅读,添加了新行。
另请注意,我还必须修复代码名称 - 您定位的是input
元素,而不是span
元素。