【发布时间】:2010-11-07 13:39:09
【问题描述】:
<span class='python'>
<a>google</a>
<a>chrome</a>
</span>
我想获得chrome 并让它像这样工作。
q = item.findall('.//span[@class="python"]//a')
t = q[1].text # first element = 0
我想将它组合成一个 XPath 表达式,然后只得到一个项目而不是一个列表。
我试过了,但它不起作用。
t = item.findtext('.//span[@class="python"]//a[2]') # first element = 1
实际的而不是简化的 HTML 是这样的。
<span class='python'>
<span>
<span>
<img></img>
<a>google</a>
</span>
<a>chrome</a>
</span>
</span>
【问题讨论】:
-
你的表达
.//span[@class="python"]//a[2]适合我。 -
嗯,看来我在某处有错误,或者我发布的实际 HTML 的简化太简单了。我会尝试然后修改问题。
-
@pdnsk:好问题,+1。请参阅我的答案以获取解释和简单的解决方案。 :)
-
很高兴您发布了这个问题。大约一天来一直试图找出类似的问题。