テスト ケースに取り組んでおり、テーブル内のテキストを検索する必要があります。キーオフする唯一のものは、前の列のラベルです。キーは、Next Trckng/Dschrg、Next Full、Next Qtrly、Next Mdcr です。キーに基づいてテキスト 1、テキスト 2、テキスト 3、およびテキスト 4 を検索する xpath 式を作成したいと考えています。すべてのキーに次の単語が含まれているため、これをモックアップして、4 つすべてを一度に見つけました。
//td[前の兄弟::td[contains(descendant::text(),'Next')]]/a
3 番目の要素は「a」要素がないため見つかりませんが、これで問題ありません。問題は最初の td にあります。他のものとは異なり、スパンがあります。スパンは、td から 2 番目の物理行にあります。CRLF が FirePath による最初の td の検出を妨げているようです。スパンを td と同じ行に配置すると、検出されます。問題は、実際のページを変更できないことです。これはテスト ケースです。
これは FireBug の問題ですか、それとも DOM で 2 つのテキスト要素が実際に発生するのでしょうか? xpath を微調整して 4 つのノードすべてを見つけるにはどうすればよいですか?
HTMLは次のとおりです。
<table border=1>
<tbody>
<tr>
<td>
<span id="xxx"><a><img></a></span>
Next Trckng/Dschrg:</td>
<td><a>Text 1</a></td>
<td>Next Full:</td>
<td><a>Text 2</a></td>
<td>Next Qtrly:</td>
<td> <!-- Text 3 --></td>
<td>Next Mdcr:</td>
<td><a>Text 4</a></td>
<td>Change Of Therapy:</td>
</tr>
</tbody>
</table>