Xpath - 跨度内的目标文本

时间:2017-05-14 16:42:01

标签: xml python-2.7 xpath selenium-webdriver

我需要能够在span中定位文本,将其用作python中的输入参数。我一直在用Xpath挣扎数小时。

<ul class="program">
  <li class="list"...
    <a class="listing_link" href="">
      <span class="title text-ellipses">TEXT TO SELECT</span>

这是我想出的最简单的事情。

//ul/li/a/span//text()

但它不起作用。 我也尝过这样的东西:

string(//ul/li/a/span[contains(text(), 'TEXT TO SELECT')])

但也没有。

请注意,该代码段是更大树的一部分。我们的想法是将文本定位在所有出现的内容中:

//ul/li/a/span.

任何帮助?

1 个答案:

答案 0 :(得分:1)

您应该使用类名来选择正确的元素,然后在该元素中进行测试。试试这个:

page.select('//*[@class="title text-ellipses"]/text()').extract()

在这里,&#34;页面&#34;是使用&#34; html&#34;解析的html页面方法&#34; lxml&#34;模块。请以Github为例来查看我的脚本。