0
page = urlopen(req)
doc = parse(page).getroot()
table = doc.xpath('/html/body/div/div/div/table')
table
<Element table ...>
doc.xpath('/html/body/div/div/div/table/tr')
<Element tr ...>...
table.xpath('/tr')
[]

table.xpath('/tr')要素の同じリストを生成しないのはなぜdoc.xpath('/html/body/div/div/div/table/tr')ですか?

4

1 に答える 1

6

これは、/で始まる xpath は常にドキュメント ルートで一致を開始するためです。

これを回避するには、スラッシュを除外するか、明示的に使用.して現在の要素と一致させます。
これらのいずれかが機能するはずです。

table.xpath('tr')
# or
table.xpath('./tr')
于 2012-12-07T22:12:06.310 に答える