XPath:通过纯文本查找 HTML 元素

2024-01-24

请注意:这个问题是一个更精致的版本上一个问题 https://stackoverflow.com/q/18655765/1839209.

我正在寻找一个 XPath,它可以让我在 HTML 文档中查找具有给定纯文本的元素。例如,假设我有以下 HTML:

<html>
<head>...</head>
<body>
    <someElement>This can be found</someElement>
    <nested>
        <someOtherElement>This can <em>not</em> be found most nested</someOtherElement>
    </nested>
    <yetAnotherElement>This can <em>not</em> be found</yetAnotherElement>
</body>
</html>

我需要通过文本搜索并且能够找到<someElement>使用以下 XPath:

//*[contains(text(), 'This can be found')]

我正在寻找一个类似的 XPath,它可以让我找到<someOtherElement> and <yetAnotherElement>使用plain text "This can not be found"。以下不起作用:

//*[contains(text(), 'This can not be found')]

我明白这是因为嵌套em“破坏”“找不到此”文本流的元素。是否可以通过 XPath 在某种程度上忽略上述嵌套或类似嵌套?


您可以使用

//*[contains(., 'This can not be found')]
   [not(.//*[contains(., 'This can not be found')])]

该 XPath 由两部分组成:

  1. //*[contains(., 'This can not be found')]: 运营商.将上下文节点转换为其字符串表示形式。因此,这部分选择在其字符串表示形式中包含“This can not be find”的所有节点。在上面的例子中,这是<someOtherElement>, <yetAnotherElement> and: <body> and <html>.
  2. [not(.//*[contains(., 'This can not be found')])]:这将删除其子元素仍包含纯文本“找不到此”的节点。它删除不需要的节点<body> and <html>在上面的例子中。

您可以尝试这些 XPathhere http://videlibri.sourceforge.net/cgi-bin/xidelcgi.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

XPath:通过纯文本查找 HTML 元素 的相关文章

  • 在导航栏下方添加背景图片

    我想在导航栏下方添加背景图像 具有完整窗口大小的宽度 它不应覆盖整个页面长度 而是从导航栏菜单下方开始 一直向下直到特定的指定高度 但宽度是满的 我参考了以下内容 但仍然没有结果 在 Twitter Bootstrap 中的导航栏下方启动背
  • 使用 javascript 将 html 文本渲染为位图,无需服务器端代码

    我需要使用 javascript 代码来转换 html 中的文章 帖子 以便最终用户以位图的形式查看 有没有办法在没有服务器端代码的情况下做到这一点 example p testing text here p 您可以使用例如html2can
  • 使用 javascript 禁用按钮:FF 与 IE

    我有一排按钮 它们都会创建一个我想在新选项卡中打开的 pdf 文件 这样按钮页面就会保持在顶部 并且 pdf 会打开以进行打印 为了防止单击按钮两次 我禁用该按钮 如下所示 我使用 python
  • 如何在 Java 中使用 HTML 解析器和 Apache Tika 来提取所有 HTML 标签?

    我下载了 tika core 和 tika parser 库 但找不到将 HTML 文档解析为字符串的示例代码 我必须删除网页源的所有 html 标签 我能做些什么 如何使用 Apache Tika 进行编码 您想要 html 文件的纯文本
  • 如何在表格的 tbody/thead 部分周围创建边框?

    我正在尝试创建一个包含表格数据的页面 该页面必须显示为多个表格 然而 我有两个相互冲突的要求需要解决 每个表格周围都必须有边框 每个表格的列宽必须能够根据内容重新调整大小 但是 所有表中的列宽必须一致 即列的大小基于所有表中该列中最大的单元
  • HTML5 有效的命名空间标签前缀

    验证我的页面时 W3 Validator 会给我一个错误
  • div Hello div div Howdy dere pardner div div div 我明白它的作用 但为什么叫这个名字both 什么是both mean 两者的意思是 一组两件事中的每一项 左 和 右 两件事
  • 水平平滑滚动 100px

    Heyjo problem 一周以来我一直在寻找 javascript 或 jQuery 代码 以便在我的网站上实现滚动按钮 我失败的那一刻是按钮应该多次工作的时候 他的任务不是滚动到专用元素 而是应该向左滚动 例如 100px 此外 滚动
  • 自定义 WP 主题时,我应该将导航栏放在“”标签之前还是之后?

    我正在通过制作子主题来自定义 WP 主题 我将 Bootstrap 中的导航栏放入子主题目录中的 header php 文件中 但是 我不确定在哪里放置导航栏代码 我可以把它都放在前面and之后标记成功 例如 无论我选择哪一个 导航栏都显示
  • 为什么我的图像下方有空间? [复制]

    这个问题在这里已经有答案了 图像在下面获得了神秘的空白空间 即使padding 0 margin 0被应用 示范 http jsfiddle net cLETP 红色边框应该包围图像 但底部有空间 造成这种情况的原因是什么 如何删除该空间
  • 如何设置视频文件的预览,从输入类型='文件'中选择

    在我的模块之一中 我需要从 input type file 浏览视频 之后我需要在开始上传之前显示选定的视频 我使用基本的 HTML 标签来显示 但它不起作用 这是代码 document on change file multi video
  • 如何保留用户的输入打印?

    我正在尝试添加用户的评论 所以我只是尝试读取输入并将其发送以进行打印 但问题是 一旦我刷新页面或输入另一个输入 打印的输入就会消失 因此 即使刷新页面或重新输入新评论 我也希望始终保持所有用户的显示 代码 div div
  • 使用其innerHTML查找元素

    请看一下这个 DOM 树 div div span Home1 span div span Home2 span span Home3 span div 现在假设我有一个场景 我以某种方式获得了第一个跨度的innerHTMLHome1 是否
  • 如何使自定义 Web 组件可聚焦?

    我正在写一个自定义网络组件 https github com denilsonsa html5 knob这意味着是互动的 我如何告诉浏览器这个自定义组件应该获得焦点 我希望我的自定义元素 可以聚焦 通过选项卡导航 集中注意力时可以接收按键信
  • VBA 完成 Internet 表单

    我正在寻找将 Excel 中的值放入网页的代码 Sub FillInternetForm Dim IE As Object Set IE CreateObject InternetExplorer Application IE naviga
  • 两列表:一列尽可能小,另一列占据其余部分

    我在 div 中有一个 to columns 表 div table tbody tr td class action a a td td class content p Bigger text variable size p td tr
  • 按下回车键时不刷新页面

    我遇到了一些问题 只要表单中有输入 回车键就会触发页面刷新 下面的代码 如果按下回车并且文本区域 input 中没有输入任何文本 则不会刷新页面 但是如果按下回车并且 input中有输入或者光标位于文本区域 我不确定是什么触发了它 因为 s
  • 如何在模态打开时防止主体滚动

    我在用着W3schools 模态脚本 https www w3schools com howto tryit asp filename tryhow css modal我想添加一个功能 防止模型打开时整个主体滚动 我根据我的需要对原始脚本做
  • 如何从浏览器向服务器发送“页面将关闭”消息?

    我想向每个 html 文档添加一个脚本 JavaScript 该脚本向服务器发送两条消息 页面确实打开了 页面将关闭 此消息包含页面打开的时间 打开消息应在文档加载时 或加载完成时 发送 这是简单的部分 The close message
  • 使用 CSS 折叠和展开元素

    我正在尝试构建一个页面 加载时仅可见标题 并且 当用户单击标题时 每个标题下方的表格会在隐藏和显示状态之间切换 我的限制是只能在 CSS 中执行此操作 这是我到目前为止想到的 https jsfiddle net Argoron c1ypx

随机推荐

  • mysql date_sub 使用字段作为间隔

    我需要 mysql 和 date sub 方面的帮助 我有一个表调用活动 Activity id deadline alert Activity 1 2011 04 18 1 DAY Activity 2 2011 04 13 1 MONT
  • 将 Unicode 文本放置到具有 NULL 所有者窗口的剪贴板上时出现意外行为

    我正在尝试将文本从我正在处理的 Windows 桌面应用程序中放置到剪贴板上 但我遇到了一些我不理解的行为 我正在使用的功能如下 bool Clipboard CopyText const XStringW txt size t memsi
  • 流畅地调用await而不使用括号

    有没有办法重构这条线 var result await Foo Bar 这样它就不会使用括号 也不会将等待结果分配给临时变量 我正在尝试构建一个支持长时间操作的流畅框架 当您需要将 wait 括在括号中时 现实世界的代码会变得非常丑陋 va
  • Python 3 - 从整数转换为“字节”然后连接它们(用于串行传输)

    经过多次毫无结果的搜索 我在理解 Python 3 2 中处理 字节 和十六进制内容的方式时遇到了一个非常具体的问题 我知道我误解了 但似乎无法找到正确的路径 我的最终目标是使用python串行模块来传输字节序列 有些字节是静态的 不会改变
  • 使用 ffmpeg 将视频从 .264 转换为 .265 (HEVC)

    我看到关于这个主题的一些问题 但我仍然收到错误 我想要做的就是将库中的视频转换为 HEVC 以便它们占用更少的空间 我试过这个 ffmpeg i input mp4 c v libx265 output mp4 ffmpeg 似乎需要很长时
  • iOS4进入后台播放音频

    当谈论在后台播放音频时 文档写得相当糟糕 它给人的印象是 要继续播放当前正在播放的音频 您只需将键 值对添加到info plist文件和wallah 这很神奇 然而 这种情况并非如此 例如 如果我播放 2 分钟长的 mp3 显然音频足够长
  • NSCalendar 日差错误

    我正在尝试使用 NSCalendar currentCalendar ordinalityOfUnit NSDayCalendarUnit inUnit NSEraCalendarUnit forDate date 在两个不同的日期查看它们
  • 在 Apache JMeter 中配置响应超时

    我试图检查特定 HTTP 请求的响应时间是否超过 30 秒 如果是 则将其标记为失败并停止线程 有时我可以看到响应时间接近 80 秒 没有浏览器等待服务器响应那么长时间 我发现了以下三种在 JMeter 中设置超时值的方法 但这让我很困惑
  • 每当 gem 时,schedule.rb 中的配置文件与 Rails 一起使用?

    我的 Rails 应用程序的 config 文件夹中有一个名为 config yml 的文件 我还有一个初始化程序 config initializers load config rb 其中包含以下代码 APP CONFIG YAML lo
  • 如何在 Swift 中实现 didReceiveMemoryWarning?

    每当我创建一个新的 View Controller 子类时 Xcode 都会自动添加该方法 override func didReceiveMemoryWarning super didReceiveMemoryWarning Dispos
  • 如何像在 Firefox 的 Firebug 中一样在 Chrome 中编辑 CSS?

    我一直在 Firefox 中使用 Firebug 编辑 CSS 但最近注意到 Chrome 渲染我的页面的速度要快得多 带有滚动 交互元素等 因此想切换到它 我发现 Chrome 显示了计算出的 CSS 以及堆栈中哪些属性被否决 我可以一一
  • 如何使用空间掩模限制光栅处理范围?

    我试图将 MATLAB 中的栅格处理限制为仅包含 shapefile 边界内的区域 类似于 ArcGIS Spatial Analyst 函数使用mask http resources arcgis com en help main 10
  • 在 scikit-learn 中使用 ExtraTreesClassifier 时出错

    我正在尝试在 scikit learn 中对我的数据使用 ExtraTreesClassifier 我有两个 numpy 数组 X 和 y X 的尺寸为 10000 51 y 的尺寸为 10000 为了确保它们采用 numpy 数组格式 我
  • 根据特定文本拆分 XML 节点

    请建议如何根据特定注释文本拆分 xml 节点 我尝试使用xsl 文本禁用输出转义格式以放置所需的结束和开始标记 元素 我的代码是静态的 如何制作动态代码 该代码适用于注释文本方面的任意数量的祖先 即 如果祖先计数 n 然后从n to 1如何
  • 在 Android Studio 中为 NDK 项目构建符号花费太长时间

    我正在开发一个 Android 项目 该项目使用 NDK 并绑定相当大的 Boost C 库 每次启动Android Studio时 IDE在Building Symbols阶段都会花费相当长的时间 大约1个小时 在i7四核机器上或多或少
  • 实体框架、代码优先和全文搜索

    我意识到人们提出了很多与全文搜索和实体框架相关的问题 但我希望这个问题有所不同 我正在使用实体框架 代码优先 需要进行全文搜索 当我需要执行全文搜索时 我通常还会有其他条件 限制 例如跳过前 500 行 或过滤另一列等 我发现这是使用表值函
  • 通过 nginx 访问时,php 在 /tmp/systemd-private-nABCDE/tmp 中有自己的 /tmp

    我发现奇怪的行为php and tmp文件夹 Php 在使用时使用另一个文件夹 tmp PHP 5 6 7 nginx php fpm 我以两种方式执行相同的脚本 通过浏览器和通过 shell 但是当通过浏览器启动时 文件不是真实的 tmp
  • Swift 结构内存泄漏

    我们正在尝试尽可能使用 Swift 结构 我们还使用 RxSwift 它具有采用闭包的方法 当我们有一个结构体创建一个引用的闭包时self 这会创建一个强引用循环 https developer apple com library ios
  • 在TestNG中使用@BeforeMethod时有没有办法获取方法元数据?

    我正在使用 TestNG 并有一套测试 我想在每个需要有关该方法的信息的测试方法之前执行一个操作 举一个简单的例子 假设我想在执行之前打印方法的名称 我可以编写一个带有注释的方法 BeforeMethod 如何将参数注入该方法 看看依赖注入
  • XPath:通过纯文本查找 HTML 元素

    请注意 这个问题是一个更精致的版本上一个问题 https stackoverflow com q 18655765 1839209 我正在寻找一个 XPath 它可以让我在 HTML 文档中查找具有给定纯文本的元素 例如 假设我有以下 HT