AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / coding / 问题 / 78523621
Accepted
Evgeniy
Evgeniy
Asked: 2024-05-23 21:51:33 +0800 CST2024-05-23 21:51:33 +0800 CST 2024-05-23 21:51:33 +0800 CST

如何使用XPath获取以下元素?

  • 772
我有一段像这样的HTML代码: ```html
  • b lorem ipsum
  • ``` 我想获取与`span`元素相关的文本"lorem ipsum"。 我尝试了`//following::span[@class="a"]/text()`,在我看来是正确的,正如其他帖子中提到的 - 但这个对我来说没有起作用。
    xpath
    • 3 3 个回答
    • 26 Views

    3 个回答

    • Voted
    1. Best Answer
      Stavr00
      2024-05-23T22:03:22+08:002024-05-23T22:03:22+08:00

      "Lorem ipsum" 实际上属于 li 元素作为第二个文本节点,第一个是 li 和 span 元素之间的空白。

      这里有一个快速的 XPATH 可以返回那个值: //span[@class="a"]/../text()[last()]

      警告/注意:将 HTML 解析为 XML 文档可能不起作用,因为 HTML 不需要遵守元素嵌套。

      • 2
    2. LMC
      2024-05-23T22:48:04+08:002024-05-23T22:48:04+08:00

      这个XPath将获取那个文本

      normalize-space(//span[@class='a']/following-sibling::text())
      
      • 1
    3. Daniel Haley
      2024-05-24T01:06:28+08:002024-05-24T01:06:28+08:00

      我会以一种与其它答案略有不同的方式去做,但这仅仅是我个人的偏好,我不喜欢在没有必要的情况下回溯到树的上层(使用..)或者使用following-sibling::轴。

      //li[span[@class="a"]]/text()[normalize-space()]
      
      • 0

    相关问题

    • 如何组合 2 个 xPath 查询

    • XPath 方括号运算符产生意外结果

    • 通过属性匹配特定节点需要 XPATH

    • 如何使用XPath定位兄弟节点

    Sidebar

    Stats

    • 问题 205573
    • 回答 270741
    • 最佳答案 135370
    • 用户 68524
    • 热门
    • 回答
    • Marko Smith

      Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

      • 1 个回答
    • Marko Smith

      为什么这个简单而小的 Java 代码在所有 Graal JVM 上的运行速度都快 30 倍,但在任何 Oracle JVM 上却不行?

      • 1 个回答
    • Marko Smith

      具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

      • 1 个回答
    • Marko Smith

      如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

      • 6 个回答
    • Marko Smith

      `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

      • 3 个回答
    • Marko Smith

      何时应使用 std::inplace_vector 而不是 std::vector?

      • 3 个回答
    • Marko Smith

      在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

      • 1 个回答
    • Marko Smith

      PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

      • 2 个回答
    • Marko Smith

      AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

      • 1 个回答
    • Marko Smith

      我正在尝试仅使用海龟随机和数学模块来制作吃豆人游戏

      • 1 个回答
    • Martin Hope
      Aleksandr Dubinsky 为什么 InetAddress 上的 switch 模式匹配会失败,并出现“未涵盖所有可能的输入值”? 2024-12-23 06:56:21 +0800 CST
    • Martin Hope
      Phillip Borge 为什么这个简单而小的 Java 代码在所有 Graal JVM 上的运行速度都快 30 倍,但在任何 Oracle JVM 上却不行? 2024-12-12 20:46:46 +0800 CST
    • Martin Hope
      Oodini 具有指定基础类型但没有枚举器的“枚举类”的用途是什么? 2024-12-12 06:27:11 +0800 CST
    • Martin Hope
      sleeptightAnsiC `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它? 2024-11-09 07:18:53 +0800 CST
    • Martin Hope
      The Mad Gamer 何时应使用 std::inplace_vector 而不是 std::vector? 2024-10-29 23:01:00 +0800 CST
    • Martin Hope
      Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
    • Martin Hope
      Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
    • Martin Hope
      Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
    • Martin Hope
      user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST
    • Martin Hope
      MarkB 为什么 GCC 生成有条件执行 SIMD 实现的代码? 2024-02-17 06:17:14 +0800 CST

    热门标签

    python javascript c++ c# java typescript sql reactjs html

    Explore

    • 主页
    • 问题
      • 最新
      • 热门
    • 标签
    • 帮助

    Footer

    AskOverflow.Dev

    关于我们

    • 关于我们
    • 联系我们

    Legal Stuff

    • Privacy Policy

    Language

    • Pt
    • Server
    • Unix

    © 2023 AskOverflow.DEV All Rights Reserve