如何使用 Selenium 和 Xpath 通过忽略大小写的文本查找元素

2023-12-12

我使用的是java版本“1.8.0_191”和selenium 3.141.59。

我试图找出页面是否包含“error”或“erreur”一词。另外,我希望它不区分大小写。

查找文本很容易:

List<WebElement> elementList = driver.findElements(By.xpath("//*[contains(text(), 'error')]"));

因为我很难使其不区分大小写。到目前为止我尝试过这个(灵感来自这个问题):

List<WebElement> elementList = driver.findElements(By.xpath("/html/body//text()[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'error')]"));

但它返回以下错误:

org.openqa.selenium.WebDriverException: TypeError: Expected an element or WindowProxy, got: [object Text] {}

我也尝试过这个:

 List<WebElement> elementList = driver.findElements(By.xpath("//*[contains(transate(text(), 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'error')]"));

但它也不起作用(因为它不是合法的表达)。

那么,有什么想法可以让这项工作发挥作用吗?


创建一个list包含文本的网页中的元素的数量error忽略大写/小写,您可以使用translate()内的功能xpath如下:

  • Syntax:

    translate('some text','abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')
    
  • 代码行:

    List<WebElement> elementList = driver.findElements(By.xpath("//*[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'error')]"));
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 Selenium 和 Xpath 通过忽略大小写的文本查找元素 的相关文章

随机推荐

  • 如何使用 python 访问 Azure AD 组和用户详细信息?

    params urllib urlencode Specify values for the following required parameters api version 1 5 tenant id vvvvvvvvXXXXXX he
  • Java 中的调度异常

    我正在开发一个任务 需要从给定的 URL 下载文件 其中一个要求是它可以处理网络故障和异常 在我的实现中 我有一个 DonwloadManager 为每个 URL 分配一个线程 以免阻塞 问题是我不确定如何通过代码模拟失败和异常 我尝试使用
  • 如何为 Cydia 和越狱的 iPhone 开发应用程序

    我开始为 iPhone 开发应用程序 我想开发一个特定的应用程序 但苹果肯定会拒绝它 所以我想为 Cydia 开发它 因为我认为它很有用 我试图弄清楚如何使用 Theos 和 XCode 来创建我的应用程序 但我什么都不懂 如果你们中的一些
  • Rails 基于对象的权限/授权引擎?

    我想在我的应用程序中添加 共享文档 功能 就像在谷歌文档服务中一样 据我所知 用户可以 可以列出 查看 创建 编辑 删除自己的文档 与所有人共享自己的文档 它是公共文档 将自己的文档共享给具有只读访问权限的其他用户 将自己的文档共享给具有读
  • 如何从 JSON 对象中删除包装器?

    我有一个带有包装器的 JSON 对象 其中包含有关它来自的服务的信息 在解析我真正关心的对象之前 我想去掉包装器 然后只解析该对象 我如何转换这个 JSON 对象 object id object 1 description Black o
  • 有没有API可以同时获取后置和前置摄像头视图? [复制]

    这个问题在这里已经有答案了 我需要在一个显示器上显示后置摄像头和前置摄像头 是否可以同时显示两者 有没有可以同时获取两个视图的API 与单相机相同 只是双相机 两个 SurfaceHolder 和两个 Camera 实例 http deve
  • TLS 扩展“服务器名称指示”(SNI):值在服务器端不可用

    基于 JSSE 示例 我尝试在服务器端获取 TLS 参数 服务器名称指示 SNI 的值 但没有成功 我确信该值是由客户端发送的 因为我使用了显示该值的网络嗅探器 Wireshark 但是当我使用以下代码片段时 服务器名称参数列表为空 同时显
  • 在令牌后触发的 jQuery 自动完成插件

    我正在构建一个应用程序 并且希望在文本区域内进行自动完成 就像 Twitter Facebook 使用 name 所做的那样 但是 我希望在输入 TID x 时触发它 其中 x 是任意长度的整数 看来 Twitter Facebook 在您
  • Google 电子表格 CTRL+Shift+E

    我有两张纸的电子表格 current sheet and archive sheet 我还有一个脚本 我创建的 可以从中删除数据current sheet并将其附加到archive sheet每月一次 The sheets have an
  • 使用FutureBuilder时如何只获取一次数据?

    我有一个获取请求 我将其作为未来传递给 FutureBuilder FutureBuilder future gettask builder context snapshot if snapshot hasData Stopwatch st
  • 如何解决 Mvc 中没有为此对象定义无参数构造函数错误?

    我正在创建一个演示应用程序来学习如何使用存储库模式来执行插入操作 我正在使用 Nop Commerce http www nopcommerce com 存储库模式的代码 Error 没有为此对象定义无参数构造函数 我看过这个链接 MVC
  • 哪个应该首先运行 git submodule update 或 git submodule init ?

    我在这里看到 https github com UCSD PL proverbot9001 issues 73 run git submodule update and the makes sure init is only ran if
  • 从 url 中删除“index.html”并使用单个 301 重定向添加“www”

    为了去除index html or index htm从网址我在我的中使用以下内容 htaccess RewriteCond REQUEST URI index html NC RewriteRule index html 1 NC R 3
  • Golang 中的 AES 加密和 Java 中的解密

    我用 Golang 编写了以下 AES 加密函数 func encrypt key byte text string string plaintext byte text block err aes NewCipher key if err
  • Flex:是否可以停止远程调用?

    我搜索了很长时间 但仍然没有找到答案 在常见情况下 我们保留远程方法调用的令牌 例如 Flex gt Java 但是 如果客户端知道不再需要当前调用 如何停止服务器处理 使用asyncToken 是否可以停止远程调用 感谢您的回答 据我了解
  • 如何使用 Devise 将 Rails 应用程序转变为 SSO/CAS 服务器?

    我从一个上一个问题我一直在问错误的问题 我想将我的应用程序变成 CAS 服务器 以便应用程序的管理员可以使用相同的身份验证机制来登录我们为组织开发的其他应用程序 你以前做过这个吗 是否有一个插件可以增加 Devise 充当 CAS 服务器的
  • relativeLayout.RIGHT_OF 不起作用

    我正在尝试在现有的相对布局中以编程方式创建一个文本视图和一个按钮 这个想法是将textview放在parentView relativeLayout 的左上角 然后将按钮添加到textView的右侧 但在应用程序中 它们看起来像是在同一个地
  • 对象字段序列

    我有一个用 JavaScript 代码编写的 JavaScript 对象 如下所示 var rtnStr 000 area000 020 area020 030 area030 040 area040 047 area047 049 are
  • Google Apps 脚本 - 获取 doPost 的 IP 并在电子表格中进行跟踪

    有没有一种简单的方法来捕获d的IPoPost e 请求并将其与 POST 的传入值一起存储以跟踪请求的来源 它似乎无法通过e parameter 我找不到其他属性或方法的完整列表e 目前无法获取传入请求的 IP 地址或用户代理doGet o
  • 如何使用 Selenium 和 Xpath 通过忽略大小写的文本查找元素

    我使用的是java版本 1 8 0 191 和selenium 3 141 59 我试图找出页面是否包含 error 或 erreur 一词 另外 我希望它不区分大小写 查找文本很容易 List