0

我没有太多使用 XPath,所以请耐心等待。我有一个包含两个表单的 HTML 文件,每个表单都包含一些输入/选择元素。

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

In [147]: len(doc.xpath('//form'))
Out[147]: 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 回答