質問
テーブルには複数の行があり、そのうちの1つは自動的にクリックするリンクです。私の出発点には、行にテキスト<!> quot; Test Question?<!> quot;:
が含まれる最後のインスタンスがあります
ID: 1416
編集/承認 無視する Eメール 名: 提出者名
開く なし ロケーション: 提出者の場所
メンバー: いや
質問テキスト: テスト質問? 応答1テキスト:
応答2テキスト:
ID: 1417
編集/承認 無視する Eメール 名: 提出者名
開く なし ロケーション: 提出者の場所
メンバー: いや
質問テキスト: テスト質問? 応答1テキスト:
応答2テキスト:
したがって、// tr [td = 'Test Question?'] [last()]は<!> quot; Question Text:Test Question?<!> quot;
のようになります。とにかく、そこから3行上に、多数のリンクが含まれる行があります。最初のセルのリンクへのxpathが欲しい。
今、position()を使用しようとしましたが、// tr [position()=(// tr [td = 'Test Question?']]のようなものは[last()] [position()])-3]ただそれを行う正しい方法ではなく、良い例が見つかりません。
ありがとう
デイブ
解決
これは控えめに言ってもかなり厄介なxpathになりますが、あなたはを見ています軸 ancestor::tr
で始まり、前の兄弟。最大で<tr>
までトンネルし、次に3つ(ここではposition()
を参照する必要があります)を通過し、そこから目標まで通常の方法でダウンします。
編集:思ったよりも簡単で、前の兄弟は逆方向にカウントされます。
./ancestor::tr/preceding-sibling::tr[3]/td[1]/a