0

私の人生では、thの下のtdテキストを取得できない理由がわかりません。

私はこれを試しました('//th(contains(text(), "Text I Need Is After This")]')は、取得しようとしている実際の行を取得しますが、取得しようとしているのはその下の td/a リンクのテキスト。

追加('//th(contains(text(), "必要なテキストはこの後にあります")]/td/a')または単に ('//th(contains(text(), "必要なテキストはこの後にあります) ")]/td')は一致するものを見つけられません。

ここにHTMLがあります

    <tr class="">
    <th scope="row" style="text-align:left;">Text I Need Is After This</th>
    <td class="" style="">
    <a href="/wiki/Queens" title="Queens">Queens</a>, 
    <a href="/wiki/New_York" title="New York">New York</a>, 
    <a href="/wiki/United_States" title="United States">United States</a>
    </td>
      </tr>
4

2 に答える 2

5

最初のステートメントに追加/td/aすると、XPath に の子ノードを見つけるように指示されますが<th>、そうではありません。<th>したがって、ノードとその直後の<td>andを見つけたい場合は、次のように関数を使用します。<a>following-sibling

//th[contains(text(), "Text I Need Is After This")]/following-sibling::td
于 2013-01-06T18:32:43.493 に答える
3

次のようなものを使用する必要があります。

td[contains(preceding-sibling::text(), "Text I Need Is After This")]
于 2013-01-06T18:36:29.173 に答える