1

特定の列、特に最初の列の値に基づいて、テーブル内の特定の行を特定する必要があります。

このテーブルには、id 値またはクラス値はありません。とtr'sですtd's

私はどこまでも行きました

//tr[td="1"]

ただし、最初に 1 に一致する行だけでなく、値 1 に一致するテキストを含むテーブル行のみが検索されますtd

tdの最初に対処trして特定の値に一致させる方法がわかりません。/ancestor::tdそれができたら、次のようなものを使用して元に戻ることができると思いますtd

誰でも助けることができますか?任意の支援をいただければ幸いです。

編集

この質問を投稿してから2分で、私はこれを理解しました

//tr/td[position() = 1 and text() = "pizza 1"]

これは、テキスト値が「pizza 1」である最初のwhoを選択する限り私を取得するtdので、それに基づいてtrを選択できるようにする必要があります。

4

2 に答える 2

3

ネストされた述語フィルターを使用して、最初の TD 要素に「1」が含まれる TR 要素を探すことができます。

//tr[td[position() = 1 and contains(., '1')]]
于 2013-09-15T22:39:18.323 に答える
1

に最初tdに一致1するものが必要な場合は、次を使用できます。

//tr[td="1"][1]

編集に続いて、親を取得するには、 を使用できます..

//tr/td[position() = 1 and text() = "pizza 1"]/..

trの代わりに を返しますtd

アップデート:

一致する複数の行があり、最初の行のみが必要な場合でも、 を使用できます[1]。式全体の外側で使用するだけです (式()[1]全体の周りに注意してください)。

(//tr/td[position() = 1 and text() = "1"]/..)[1]
于 2013-09-15T22:25:34.187 に答える