0

XPathはあまり使用していませんので、ご容赦ください。2つのフォームを含むHTMLファイルがあり、それぞれにいくつかの入力/選択要素が含まれています。

In [146]: len(doc.xpath('//input | //select'))
Out[146]: 14

In [147]: len(doc.xpath('//form'))
Out[147]: 2

フォームをループして、それぞれの入力/選択要素を見つける方法はありますか?現時点では、すべての要素を2回返します。

In [149]: for e in doc.xpath('//form'):
     ...:     print len(e.xpath('//input | //select'))
     ...:     
14
14
4

1 に答える 1

2

PythonでのXPath統合についてはわかりませんが、試してみることができると思います。

e.xpath('.//input | .//select')

forループで。

eドキュメント全体に接続されたノードです。XPathを実行するときは、このコンテキストにとどまる必要があります。を使用する//と、ドキュメントコンテキストになります。

于 2012-10-08T14:33:44.700 に答える