0

我有一个表,我需要在其中查找是否选中了与单元格对应的复选框,例如,我需要确定是否选中了作为 DeviceHelp 兄弟的复选框 id=830。

同样对于元素联系人,我将不得不检查复选框 id="72" 是否已选中/未选中

而且我只能依靠文本元素(联系人、DeviceHelp 等)来获取复选框状态,而不是可能更改的复选框 ID。

<tr class="row active" style="display: table-row;">
<td>
<input id="72" class="rowcheck" type="checkbox" value="true" name="ModesForUi[0].Allow" categoryid="58" disabled="">
<input type="hidden" value="false" name="ModesForUi[0].Allow">
</td>
<td> Administration - Read </td>
<td>
Contact
<input id="ModesForUi_0__ResourceID" type="hidden" value="72" name="ModesForUi[0].ResourceID">
<input id="ModesForUi_0__ModeID" type="hidden" value="12185" name="ModesForUi[0].ModeID">
</td>
<td> Controls access to Search Contacts link and to view contact details page. Navigate to Menu\Advanced\More </td>
</tr>
<tr class="row active" style="display: table-row;">
<td>
<input id="830" class="rowcheck" type="checkbox" value="true" name="ModesForUi[1].Allow" categoryid="58" disabled="">
<input type="hidden" value="false" name="ModesForUi[1].Allow">
</td>
<td> Administration - Read </td>
<td>
DeviceHelp
<input id="ModesForUi_1__ResourceID" type="hidden" value="830"     name="ModesForUi[1].ResourceID">
<input id="ModesForUi_1__ModeID" type="hidden" value="12186"     name="ModesForUi[1].ModeID">
</td>
<td> Controls access to Help icon displayed next to logout icon and next to the menu.     </td>
</tr>

已尝试以下,但我没有得到复选框值

"ancestor::td[1]/input[1]/preceding-sibling::td[normalize-space(text())='DeviceHelp']")

//tr[position()>1]/td[normalize-space(text())='DeviceHelp*']/parent::td/preceding-sibling::td/input@value 

请xpath专家您能否对上述路径有什么问题以及如何进入复选框有所了解?

谢谢!

4

1 回答 1

0

我想我知道你想在这里做什么......

试试这个设备帮助:

/root/tr/td[normalize-space(text())='DeviceHelp']/../td[1]/input[1]/@value

这对于联系人:

/root/tr/td[normalize-space(text())='Contact']/../td[1]/input[1]/@value

“root”就是你开始的任何节点,我添加它是为了在本地测试,因为 XML 片段不完整。

编辑

尝试这个:

//tr/td[normalize-space(text())='DeviceHelp']/../td[1]/input[1]/@value

//tr/td[normalize-space(text())='Contact']/../td[1]/input[1]/@value
于 2012-12-04T14:49:06.187 回答