我没怎么用过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发布于 2012-10-08 22:33:45
我不知道python中的XPath集成,但我认为你可以尝试一下:
e.xpath('.//input | .//select')在你的for循环中。
e是附加到整个文档的节点。当您对其执行XPath时,您应该停留在此上下文中。当您使用//时,您处于文档上下文中。
https://stackoverflow.com/questions/12783587
复制相似问题