【问题标题】:Xpath - Target text inside a spanXpath - 跨度内的目标文本
【发布时间】:2017-05-15 01:46:15
【问题描述】:

我需要能够定位跨度内的文本以将其用作 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')])

但也没有。

请注意,sn-p 是更大树的一部分。这个想法是针对所有出现的文本:

//ul/li/a/span.

有什么帮助吗?

【问题讨论】:

  • 你能分享页面URL吗?
  • 您的 xpath 适用于您发布的片段。您能否更具体地指出“不起作用”?你能发布一个最小的有效 xml 文档来模拟你想要找到的东西吗?您向我们介绍了一些乍一看似乎与您的 xml 无关的巨大 html 页面。你能缩小范围吗?

标签: xml python-2.7 xpath selenium-webdriver


【解决方案1】:

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

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

这里的“page”是使用“lxml”模块中的“html”方法解析的html页面。请查看我在Github 的脚本作为示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 2017-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 1970-01-01
    相关资源
    最近更新 更多