selenium - 通过 xpath 通过内部具有内部标签的文本查找标签
问题描述
我最近遇到一个问题。
我需要在页面上找到一个包含特定文本的 div 标签。问题是,文本被内部链接标签分为两部分,因此 HTML 树看起来像:
**<html>
<...>
<div>
start of div text - part 1
<a/>
end of div text - part 2
</div>
<...>
</html>**
要唯一标识该 div 标签,我需要两部分 div 文本。自然,我会想出类似这样的 XPath:
.//div[contains(text(), 'start of div text') and contains(text(), 'end of div text')]
但是,它不起作用,找不到第二部分。
唯一描述这种标签的最佳方法是什么?
解决方案
尝试使用下面的 XPath 来匹配div
两个文本节点所需的:
//div[normalize-space(text())="start of div text - part 1" and normalize-space(text()[2])="end of div text - part 2"]
推荐阅读
- c++ - 无效值不被忽略,因为它应该是错误
- python - 如何在 Python 中从 BeautifulSoup 数据创建元组列表?
- visual-studio-2019 - 包 Microsoft.AspNetCore.Components.WebAssembly 5.0.0 与 netstandard2.1 不兼容 (.NETStandard,Version=v2.1)
- ios - Xamarin Forms:如何在 Xamarin ios 应用程序中检查 GPS 是打开还是关闭?
- java - DynamoDB 条件表达式语法
- java - 如何从 xml 字符串内容构建 HierarchicalConfiguration 对象?
- r - 如何提取R中引号内的书目中的所有文本?
- ruby-on-rails - 设计谷歌omniauth,成功登录后将用户重定向到accounts.google.com
- c - 无法拆分和合并内存块:链表段错误
- assembly - 引导扇区中 16 位实模式下的内存行为异常