0

セルに対応するチェックボックスがチェックされているかどうかを確認する必要があるテーブルがあります。たとえば、DeviceHelpの兄弟であるチェックボックスid=830がチェックされているかどうかを確認する必要があります。

同様に、要素Contactの場合、チェックボックスid="72"がオン/オフになっているかどうかを確認する必要があります

また、テキスト要素(contact、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 に答える