7

基本的に、子ノード(h1、b、h3)に指定されたテキストが含まれているノード(div)を選択したいと考えています。

<html>
<div id="contents">
<p>
<h1> Child text 1</h1>
<b> Child text 2 </b>
...
</p>
<h3> Child text 3 </h3>
</div>

私は期待しています、/html/div/ ではなく /html/div/h1

私はこれを以下に持っていますが、残念ながらdivへのxpathではなく、子を返します。

expression = "//div[contains(text(), 'Child text 1')]"
doc.xpath(expression)

私は期待しています、/html/div/ ではなく /html/div/h1

xpath構文でこれを簡単に行う方法はありますか?

4

2 に答える 2

10

「/..」を追加して、親にアンカーを戻すことができます。より堅牢な方法があるかどうかはわかりません。

expression = "//div[contains(text(), 'Child text 1')]/.."
于 2009-10-03T22:52:14.317 に答える