我试图循环每个 <h2>
div 内带有 id="somediv"
的标签(获取其文本)使用此代码:
for k,div1 in enumerate(tree.xpath('//div[@id="someid"]')):
print div1.xpath('.//h2['+str(k+1)+']/text()')
但它不起作用。为什么?然而这有效:
for i in range(5): #let's say there are 5 div's with id="someid" to make things easier
print tree.xpath('//div[@id="someid"]/div/div[1]/div[2]/h2['+str(i)+']/text()'))
这里的问题是,我必须给出绝对路径 .../div/div[1]/div[2]...
这是我不想要的。我的第一个解决方案看起来不错,但没有产生所需的结果,相反我只能检索所有 <h2>
标签来自 div="someid"
一次。谁能告诉我我做错了什么?
最佳答案
.//
将继续沿树向下搜索。从属于您的 div 的 h2 文本节点列表就是
tree.xpath('//div[@id="someid"]/.//h2/text()'))
关于python - 使用 xpath 循环特定 div 内的所有 <h2> 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39982929/