96

次の HTML 構造があります。DOM 内にこれらのタグが多数あるため、2 番目の色のダイジェスト要素を抽出するための堅牢な方法を構築しようとしています。

<table>
  <tbody>
    <tr bgcolor="#AAAAAA">
    <tr>
    <tr>
    <tr>
    <tr>
      <td>Color Digest </td>
      <td>AgArAQICGQMVBBwTIRQHIwg0GUMURAZTBWQJcwV0AoEDAQ </td>
    </tr>
    <tr>
      <td>Color Digest </td>
      <td>2,43,2,25,21,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,33,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,0,0,0,0,0,0,0,0,0,0,0,20,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, </td>
    </tr>
  </tbody>
</table>

デコードされた値を持つ 2 番目の「カラー ダイジェスト」td 要素を抽出しようとしています。

次の xpath を書きましたが、2 番目の要素を取得する代わりに、2 番目の td 要素を取得していません。

//td[text() = ' Color Digest ']/following-sibling::td[2]

そして、それを td[2] から td[1] に変更すると、両方の要素が取得されます。

4

3 に答える 3

139

'Color Digest'に等しいtdを持つ2番目のtrを探す必要があります。次に、trの最初のtdの次の兄弟または2番目のtdを調べる必要があります。

次のことを試してください。

//tr[td='Color Digest'][2]/td/following-sibling::td[1]

また

//tr[td='Color Digest'][2]/td[2]

http://www.xpathtester.com/saved/76bb0bca-1896-43b7-8312-54f924a98a89

于 2012-07-25T19:43:24.923 に答える
3

/html/body/table/tbody/tr[9]/td[1]

Chrome(Safariの可能性もあります)では、要素を検査し、xpathを取得するタグを右クリックして、xpathをコピーしてその要素を選択できます。

于 2012-07-25T19:36:35.443 に答える