首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用contains在DOM中按特定单词搜索元素,但不区分大小写,使用小写() XPATH 2.0不起作用

使用contains函数在DOM中按特定单词搜索元素,但不区分大小写,使用小写(XPath 2.0不起作用)。

DOM(文档对象模型)是一种以树形结构组织HTML或XML文档的方式,它允许开发者通过脚本语言(如JavaScript)对文档进行访问和操作。

contains函数是XPath语言中的一个内置函数,它用于在给定的字符串中搜索特定的子字符串。在DOM中使用contains函数可以实现按特定单词搜索元素的功能。然而,XPath 2.0规范中的contains函数是区分大小写的,无法直接实现大小写不敏感的搜索。

要实现大小写不敏感的搜索,可以通过将要搜索的字符串和目标字符串都转换为小写来解决。以下是一个示例代码:

代码语言:txt
复制
// 获取DOM中包含特定单词的所有元素
function searchElementsByWord(word) {
  var elements = document.getElementsByTagName('*');
  var results = [];

  for (var i = 0; i < elements.length; i++) {
    var element = elements[i];
    var text = element.innerHTML.toLowerCase();

    if (text.indexOf(word.toLowerCase()) !== -1) {
      results.push(element);
    }
  }

  return results;
}

// 使用示例
var word = '特定单词';
var searchResults = searchElementsByWord(word);
console.log(searchResults);

在上述示例中,我们通过使用toLowerCase()方法将要搜索的单词和元素的文本内容都转换为小写,然后使用indexOf方法来判断文本内容是否包含该单词。如果包含,则将该元素添加到结果数组中。

这样就实现了在DOM中按特定单词搜索元素,且不区分大小写的功能。

腾讯云提供了一系列云计算相关产品,包括云服务器、对象存储、数据库等,您可以根据具体的需求选择适合的产品。更多关于腾讯云产品的介绍和详细信息,您可以访问腾讯云官网:https://cloud.tencent.com/

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【Playwright+Python】系列教程(五)元素定位

3、 Shadow DOM 定位 默认情况下,Playwright 的所有定位器都使用 Shadow DOM 元素。...它将在不区分大小写的情况下搜索元素内部的某个特定字符串,可能在后代元素。...四、使用约束条件定位 1、定位器内匹配 就先定位元素,再去定位子节点元素,以将搜索范围缩小到页面的特定部分。...link").and_(page.get_by_text("新闻")).click() 3、使用or条件匹配 如果您想定位两个或多个元素的一个,但不知道会是哪一个,请使用 locator.or_()...").click() 4、下标定位指定元素 您有一个相同元素的列表,并且区分它们的唯一方法是顺序,则可以使用 locator.first、locator.last 或 locator.nth() 从列表中选择特定元素

21510
  • 自动化-Appium-元素定位(Java版)

    这允许使用UIAutomator库使用递归元素搜索来找到Android应用程序元素。...现在基本上很少使用。 这允许使用UIAutomation库使用递归元素搜索来找到IOS应用程序元素仍支持UIAutomation的IOS设备上支持此方法,即在XCUITEST之前的版本。...灵活性没有XPath和IosNsPredicate好。 该方法允许使用IOS类链查找元素。这些方法采用包含元素类型的类链格式的字符串。...'Alert' 以某个字符串开头,例如:label BEGINSWITH 'Alert' 以某个字符串结束,例如:label ENDSWITH 'Views' 注:在三个关键字后加上[c]不区分大小写...,可用于字母的校验;[d]不区分发音符号,即没有重音符号($、#、%等);[cd]即不区分大小写,也不区分发音符号,如:name CONTAINS[c] ABcd和name CONTAINS abcd、

    1.6K31

    自动化-Appium-元素定位(Python版)

    这允许使用UIAutomator库使用递归元素搜索来找到Android应用程序元素。...现在基本上很少使用。 这允许使用UIAutomation库使用递归元素搜索来找到IOS应用程序元素仍支持UIAutomation的IOS设备上支持此方法,即在XCUITEST之前的版本。...灵活性没有by_xpath和by_ios_predicate好。 该方法允许使用IOS类链查找元素。这些方法采用包含元素类型的类链格式的字符串。...'Alert' 以某个字符串开头,例如:label BEGINSWITH 'Alert' 以某个字符串结束,例如:label ENDSWITH 'Views' 注:在三个关键字后加上[c]不区分大小写...,可用于字母的校验;[d]不区分发音符号,即没有重音符号($、#、%等);[cd]即不区分大小写,也不区分发音符号,如:name CONTAINS[c] ABcd和name CONTAINS abcd、

    1.9K40

    一日一技:XPath 匹配如何忽略大小写

    footer前后都有字符的时候,我们可以使用 XPath 的关键词contains://div[contains(@class, "footer")],运行效果如下图所示: 但如果我们想忽略大小写的时候怎么办呢...实际上, XPath 2.0的标准里面,有一个关键字叫做lower-case就可以实现这个需求,XPath 写为: //div[lower-case(@class)="footer"]/text()。...我们可以一些在线 XPath 检查的工具里面看到提取效果,如下图所示: 但坏就坏,Python 的第三方库lxml使用的是 XPath 1.0标准,因此没有lower-case这个关键字。...我以前写过一篇文章:一日一技:字符串批量替换单个字符介绍 Python 里面怎么使用translate方法。...XPath 的translate的语法为:translate(目标属性, 需要替换的字符, 替换成字符)。这样就可以把节点的目标属性值转成小写再来对比。

    1.3K20

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-6-元素定位大法-下篇

    1.简介 上一篇主要是讲解我们日常工作使用Playwright进行元素定位的一些比较常用的定位方法的理论基础知识以及什么情况下推荐使用。...2.阴影定位-Shadow DOM 在做web自动化的时候,一些元素shadow-root的节点下,使得playwright无法通过xpath来定位 上面所看到的shadow-root标签其实就是一个...默认情况下,Playwright 的所有定位器都使用 Shadow DOM 元素。例外情况是: 通过 XPath 定位不会刺穿阴影根部。 不支持闭合模式影子根。...3.1文本过滤 定位器可以使用 locator.filter()方法文本进行过滤。它将搜索元素内某处的特定字符串,可能在后代元素,不区分大小写。您还可以传递正则表达式。...page.get_by_text("orange").click() 5.3.2通过文本过滤定位 使用 locator.filter() 列表查找特定项目。

    1.2K11

    《最新出炉》系列初窥篇-Python+Playwright自动化测试-5-元素定位大法-上篇

    在下面的代码片段,底层 DOM 元素将被定位两次,一次每个动作之前。这意味着如果 DOM 由于重新渲染而在调用之间发生变化,则将使用与定位器对应的新元素。...角色定位时,通常还应传递可访问的名称,以便定位器准确定位元素。例如,考虑以下 DOM 结构。 ...您还可以文本进行筛选,这在尝试列表定位特定项目时很有用。3.5替代文本定位-page.get_by_alt_text()所有图像都应该有一个alt描述图像的属性。...text='北京-宏哥' 有引号,精确匹配,对大小写敏感text文本除了可以定位a标签,还可以定位 button 按钮,input标签的button 按钮,有value="百度一下" 文本值<input...Playwright进行元素定位的一些比较常用的定位方法的理论基础知识以及什么情况下推荐使用,当然了这不是一成不变的,希望大家使用可以灵活的应用。

    3.5K31

    Linux grep命令教程

    介绍的参数包括忽略大小写(-i)、反向匹配(-v)、显示行号(-n)、统计匹配行数(-c)、递归搜索(-r或-R)、使用正则表达式(-E)等。...示例部分展示了如何使用这些参数进行基本搜索、忽略大小写搜索、反向匹配、显示行号、统计匹配行数、递归搜索使用正则表达式、匹配整个单词或整行、显示匹配行及其前后行、指定多个模式、只输出匹配的部分、搜索包含空格的字符串...Linux grep命令教程 简介 Linux系统,grep命令是一个非常强大和常用的文本搜索工具。它可以一个或多个文件搜索指定的字符串或正则表达式,并输出匹配的行。...常用参数 -i:忽略大小写 -v:反向匹配,输出不匹配的行 -n:显示匹配行的行号 -c:统计匹配行的数量 -l:只显示包含匹配项的文件名 -r或-R:递归搜索目录下的所有文件 -E:使用扩展正则表达式...忽略大小写(-i) 不区分大小写搜索指定字符串: grep -i "hello" example.txt 输出: Hello, world! hello, grep! 3.

    39910

    《Learning Scrapy》(中文版)第2章 理解HTML和XPath使用Chrome浏览器获得XPath表达式常见工作提前应对网页发生改变

    DOM树是跨平台且不依赖语言的,可以被几乎所有浏览器支持。 只需右键点击,选择查看元素,就可以浏览器查看网页的树结构。如果这项功能被禁止了,可以选项的开发者工具修改。...浏览器的页面 HTML文本和树结构和我们平时浏览器中看到的页面截然不同。这恰恰是HTML的成功之处。HTML文件就是要具有可读性,可以区分网页的内容,但不是按照呈现在屏幕上的方式。...用XPath选择HTML元素 如果你以前接触过传统的软件工程,并不知道XPath,你可能会担心,HTML文档查询某个信息,要进行复杂的字符串匹配、搜索标签、处理特殊字符、解析整个树结构等繁琐工作。...对于XPath,所有的这些都不是问题,你可以轻松提取元素、属性或是文字。 Chrome中使用XPath开发者工具中点击控制台标签,使用$x功能。...//*[contains(@class,"ltr") and contains(@class,"skin-vector")]//h1//text() 实际应用,你会在XPath中频繁地使用class。

    2.2K120

    深入学习 XML 解析器及 DOM 操作技术

    XPath 是 XSLT 标准的一个主要元素。它可用于浏览 XML 文档元素和属性。XPath 是定义 XML 文档部分的语法。XPath 使用路径表达式 XML 文档中导航。...示例问题:"从存储 cd_catalog.xml 的 CD 集合中选择所有价格低于 $10 的 CD 记录"XQuery 和 XPathXQuery 1.0 和 XPath 2.0 共享相同的数据模型...XQuery 使用示例XQuery 可以用于:提取用于 Web 服务的信息生成摘要报告将 XML 数据转换为 XHTML Web 文档搜索相关信息XML、XLink 和 XPointerXLinkXLink...使用 XPath 表达式 XML 文档中导航XPointer 示例 XLink 与 XPointer 结合使用的示例,我们链接到另一个文档的特定部分。...XML的语法规则包括:XML文档必须有根元素XML元素必须有关闭标签XML标签区分大小写XML元素必须正确嵌套XML属性值必须用引号括起来XML错误将阻止您XML文档的错误将阻止您的

    21410

    vim学习六之搜索命令「建议收藏」

    搜索 n/N 正反向下一个 光标处单词搜索 Vim高亮搜索 搜索大小写敏感 搜索进阶 Vim正则表达式搜索 查找在行首的特定串 查找在行尾的特定串 匹配特定行 Vim基本搜索命令 / 或者?...n/N 正反向下一个 搜索模式下可以对Vim打开的整个文本内容进行搜索,当下 n 时可以继续正向查找下一个相匹配的目前单词。N 的作用与 n 相反,是往上反向搜索目标单词。...光标处单词搜索 Vim命令模式下,如果要搜索当前光标下的单词,除了可以使用/ 和 ?外,还可以使用特殊命令* 和 #。...搜索大小写敏感 默认Vim搜索命令是大小写敏感的,因此,搜索 the 不会查找到 The。使用命令 :set ignorecase 会使得Vim搜索变得不区分大小写。...可以搜索命令中使用 \c 来强制使得当前搜索模式不区分大小写, 而命令 \C 则会强制当前搜索模式大小写敏感。

    10.5K51

    vim命令搜索_linux的vim

    Vim 的基础搜索操作 当你 Vim 打开一个文件并且想要搜索一个特定单词或模板,第一步你必须要先按下 Esc 键从插入模式退出(如果你正处于插入模式)。...例如,请看下附截图: 这可以通过设置 hlsearch 变量来实现,例如在普通/命令行模式执行下述命令: :set hlsearch 2、使搜索区分大小写 Vim 中进行搜索默认是区分大小写的...然而,如果这不是你想要的搜索方式,你可以使用如下命令来使搜索变得不区分大小写: :set ignorecase 所以当我设置 ignorecase 变量后再使用前边提到的命令,搜索 linux,那么 Linux...3、智能大小写搜索 Vim 提供了一个功能,只有当要搜索单词 / 模板包含大写字母时,编辑器才会区分大小写。...:set ignorecase :set smartcase 例如,如果一个文件既包含 LINUX 也包含 linux,开启智能大小写搜索功能时,如果使用 /LINUX 进行搜索,只有单词 LINUX

    10.2K20

    XML学习笔记

    html区分大小写xml严格区分。 2. HTML,有时不严格,如果上下文清楚地显示出段落或者列表键何处结尾,那么你可以省略或者之类的结束标记。...XML,是严格的树状结构,绝对不能省略掉结束标记。 3. XML,拥有单个标记而没有匹配的结束标记的元素必须用一个/ 字符作为结尾。这样分析器就知道不用查找结束标记了。 4....3.xml文档中有且仅有一个根标签 4.属性值必须使用引号引起来 5.标签必须有结束标签 6.XML严格区分大小写 组成部分 1.文档声明 必须定义第一行 格式<?xml 属性列表 ?...,attr(String attrName)属性名称不区分大小写 获取文本内容,String text() 获取标签体在内的所有内容,String html() 4.Element:元素对象 5.Node.../xpath/xpath_syntax.asp Xpath为XML路径语言 使用Jsoup的Xpath需要额外导入jar包

    65000

    利器 | AppCrawler 自动遍历测试实践(三):动手实操与常见问题汇总

    下面我们继续之前的例子,雪球搜索框输入搜索内容后的页面开始: testcase:设置测试用例,输入 alibaba 后,点选"阿里巴巴" yaml 写法如下: testcase: name: "XueQiuTestDemo...,我们希望的是一个标签页下完全遍历结束后最后再点击标签控件,这个就可以借助lastList来完成,让元素点进标签页后的内容为最后遍历 lastList: - { xpath: "//*[contains...")])[2] 缺点:上面的做法虽然解决了页面区分的问题,但是有一个缺点就是我们定义了遍历的深度,然而使用 defineUrl 之后将每个标志符的页面都视为一个新的 activity,因此遍历深度就会从这里开始重新计算...,比如我们可能会遇到如下的情况 广告、升级弹框在测试过程突然出现 某些动作需要输入 某些动作需要特定次数的操作 这样每次出现弹框都会被处理 测试中途碰到了账号密码输入框需要输入的可以提前triggerActions...答:AppCrawler 默认每次操作时会等待 500ms;通过 triggeraction 来解决需要等待的条件,xpath 为进度条,action 为 sleep 1s tagLimit 会限制同属性但不同层级的元素

    71910

    软件测试|AppCrawler 自动遍历测试实践

    下面我们继续之前的例子,雪球搜索框输入搜索内容后的页面开始:testcase:设置测试用例,输入 alibaba 后,点选"阿里巴巴" yaml 写法如下:testcase: name: "XueQiuTestDemo...,这个就可以借助lastList来完成,让元素点进标签页后的内容为最后遍历lastList: - { xpath: "//*[contains(@resource-id,'ti_tab_indicator...])[2]缺点:上面的做法虽然解决了页面区分的问题,但是有一个缺点就是我们定义了遍历的深度,然而使用 defineUrl 之后将每个标志符的页面都视为一个新的 activity,因此遍历深度就会从这里开始重新计算...,比如我们可能会遇到如下的情况广告、升级弹框在测试过程突然出现某些动作需要输入某些动作需要特定次数的操作triggerActions: - xpath: //*[contains(@resource-id...答:AppCrawler 默认每次操作时会等待 500ms;通过 triggeraction 来解决需要等待的条件,xpath 为进度条,action 为 sleep 1stagLimit 会限制同属性但不同层级的元素

    95030

    如何在Selenium WebDriver查找元素?(二)

    但是,有时我们DOM找不到它们的任何一个,而且有时某些元素的定位符DOM中会动态变化。在这种情况下,我们需要使用智能定位器。这些定位器必须能够定位复杂且动态变化的Web元素。...最近,我努力寻找定位Web元素的方法。各种环境中使用相同版本的SaaS实例会生成不同的Ids.XPATH选择器助我一臂之力,我主要使用contains()选项来定位Web元素。...下面简要说明这些内容 绝对和相对XPath 绝对 相对的 定位元素的直接方法 从DOM元素的中间开始 如果访问元素的路径因位置而改变,则脆性可能会破裂 由于搜索相对于DOM相对稳定 以“ /”开头并从根开始...以“ //”开头,它可以DOM的任何位置开始搜索 较长的XPATH表达式 较短的表达 //tag[@attribute='value'] public class LocateByXPATHSel...// a [@ id ='pt1:_UIScmi4'和@ class ='xnk xmi'] 祖先 我们可以使用此选项特定Web元素的祖先的帮助下查找Web元素

    2.9K20
    领券