selenium 我要使用文本但忽略大小写查找元素[已关闭]

6qqygrtg  于 2022-11-24  发布在  其他
关注(0)|答案(1)|浏览(102)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

昨天关门了。
Improve this question
我提供了JSON中文本,然后查找一个元素应该会找到与文本相似的元素
我希望任何XPath方法都能通过忽略大小写来找到类似的元素

km0tfn4u

km0tfn4u1#

因为您提到了Selenium,所以我假设您只能使用XPath 1.0版。在XPath 1.0中,没有对不区分大小写的匹配的特定支持,但是可以使用translate函数将字符串从大写转换为小写,方法是将每个大写字符转换为对应的小写字符。
例如,要搜索包含字符串“XPath”或“xpath”或“xPath”等的段落,您可以使用如下XPath表达式(为便于阅读,分为多行):

//p[
   contains(
      translate(
         ., 
         'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 
         'abcdefghijklmnopqrstuvwxyz'
      ), 
      'xpath'
   )
]

在该表达式中,translate函数的第一个参数(.)表示上下文节点;该函数将获取该元素的字符串值,并将所有大写字母替换为小写字母,然后contains函数将检查(现在是小写)文本是否包含文本'xpath'
请注意,我的示例只包括从'A'到'Z'的字母,不包括许多欧洲语言中使用的重音字符;你可能需要提供一个更广泛的字母表取决于你的网站文本的语言。

相关问题