如何在 watir-webdriver 中使用 :class 选择器精确匹配

2024-01-04

关于 Watir 0.5.x 向后不兼容的更改通过 :class 查找元素现在匹配部分类属性。 https://github.com/watir/watir-webdriver/issues/36

我如何获得旧的行为? IE。以匹配确切的类名称。

在一种情况下,它破坏了我的代码:

# expand all multiple records
 while  $browser.div(:class => "expander").exists?  
  $browser.div(:class => "expander").click
 end

因为有一次.clicked, the div's class变成“扩展器有孩子”(可能还有其他类,具体取决于表行的颜色和内容)。有没有更好的方法来编写扩展所有仍折叠的行的代码?


为了匹配确切的类名,您可以使用带有开始和结束锚点的正则表达式:

$browser.div(:class => /^expander$/).exists?

这将完全匹配“expander”,但不匹配“expander hasChildren”或“something Expander”。

对于您关于是否有更好的方法来展开所有行的其他问题,我认为这实际上取决于页面的 HTML 的外观。你有例子吗?当我在类似的控件上遇到类似的问题时,我能够使用可点击控件周围的 div 结构来使搜索更加具体。

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

如何在 watir-webdriver 中使用 :class 选择器精确匹配 的相关文章

随机推荐

  • 扩展方法通过比较返回 lambda 表达式

    我正在为我们这个庞大的项目创建一个更复杂的过滤系统 主要谓词之一是能够通过字符串参数传递比较 这以以下形式表示 gt 50 或 5 10 或 我有什么 作为例子来说明 视图模型 TotalCost string value lt 50 Re
  • 如何使用自定义键盘 iOS 发送图像

    我正在构建我的第一个自定义键盘 我正在使用 Swift 2 和 Xcode 7 我用它作为我的键盘 我在 iPhone 上运行 当我点击外星人小脸时 我想要 带有该图像的小表情符号或 将图像 如果可能 插入到用户键入的位置 我已经尝试过这段
  • WinForms 应用程序的正确本地化

    我有一个WinForms我想将其翻译成多种语言的应用程序 但是 我没有任何本地化经验WinForms应用程序 我发现关于这个主题的信息非常矛盾 基本上 我想要的是 在源代码中 我只需要每种语言一个文件 该文件在编译时被编译到主应用程序中 构
  • 谷歌云存储公开共享

    我对存储桶的 Acl 权限如下
  • 如何对具有两个键但其中一个键相反的列表进行排序?

    我想知道用两个键对元组列表进行排序的 Pythonic 方式是什么 其中使用一个 且只有一个 键排序将以相反的顺序 而使用另一个键排序则不区分大小写 更具体地说 我有一个包含元组的列表 例如 myList ele1A ele2A ele1B
  • 如何从struct page中获取关联数据的物理地址?

    假设我们有一个struct page来自页面缓存文件的地址空间 我们如何从中获取4KB数据的起始物理地址struct page 我想应该有类似的东西data指针在里面struct sk buff 但我没有找到 EDIT 感谢 Mat 和 l
  • Facebook API:使用 JavaScript SDK 登录,然后使用 PHP 检查登录状态

    我使用 Facebook 的 JavaScript SDK 在用户单击登录按钮时弹出登录弹出窗口 正如 Facebook 在文档中提供的那样 代码是 loginButton click function FB login function
  • 通过 Java 使用 Apple 推送通知服务

    我正在尝试实现一个向 iPhone 客户端应用程序发送 Apple 推送通知的 Java 程序 找到以下库 Java APN http code google com p javapns 提供商代码 创建了以下代码 来自 Javapns 以
  • 如何在atom1.7+中单击打开文件(无待处理窗格)

    将atom从1 5升级到1 7后 我发现了一个不实用的新 功能 所有单击的文件现在都在 待处理窗格 中打开 这意味着如果文件中没有任何更改 它将被下一个打开的文件替换 可以在atom的设置中禁用 待处理窗格 功能 但我也想恢复以前的行为 在
  • VSCode 智能感知未在“with ... as”语句中显示 Python

    我有一个如下的函数来获取托管资源 from contextlib import contextmanager contextmanager def getMyClass gt MyClass obj try yield obj except
  • 宏观定义中的“位置太少”

    我正在尝试创建一些以这种方式使用 实验 宏的示例 use experimental macros macro cards vars
  • SignalR:Windows 身份验证网站出现“在活动 SignalR 连接期间用户身份无法更改”错误

    我有一个使用 Windows 身份验证运行 signalR 2 1 0 的 MVC 5 网站 因为我使用的是 Windows 身份验证登录 注销是由 IIS 自动处理的 有时 我会收到 403 错误 指出 无法识别的用户身份 在活动 Sig
  • 强制下载 PDF 文件,文件已损坏

    我有一个问题在 SO 上出现了很多次 但我似乎找不到解决方案 我试图将 pdf 文件传递 给客户端 而不在浏览器中打开它 该文件会下载 但当我打开它时它已损坏 并且原始文件中丢失了相当多的字节 我已经尝试了几种这样的方法来下载文件 但我只会
  • 在代理服务器后面的 Windows 上安装 angular-cli

    我目前正在公司代理服务器后面构建 Angular 2 演示 该演示存在阻止 NPM 和 TypeScript 打字 安装的已知问题 虽然我已经能够通过代理服务器设置解决这些问题 但我有点不确定如何处理最新问题 每当我尝试全局安装 angul
  • iPhone 访问 orkut API

    有人知道通过 iPhone SDK 访问 orkut API 的代码示例吗 我只找到了这个java版本http code google com p orkut os client http code google com p orkut o
  • 获取 Okta 中与用户关联的组列表

    我正在尝试通过在我的网站中作为服务提供商 SP 和 Okta env 实施 SAML 2 0 来与 Okta SSO 集成 作为我的身份提供商 IDP 我无法理解如何配置我的 IDP 以返回每个身份验证请求 用户所在的组 如何完成 另外 是
  • Java - 在外部文件中存储 SQL 语句[关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个在外部文件中存储 SQL 语句的 Java 库 框架 技术 支持团队 包括 DBA 应该能
  • 在 Android 版 Phonegap 应用上播放声音

    我尝试播放 mp3 文件 如果我更改本地网络服务器上的文件路径 则此方法有效 但如果我在 Android 设备上运行此文件 则不会播放声音 也不会显示错误 我很确定找不到 mp3 文件 但我仍然不知道如何修复它 这是Html
  • 使用phonegap 在 xcode 4.1 上的 iframe 中允许外部主机

    我正在尝试创建一个 iPad iPhone 应用程序来显示链接到外部站点的 iFrame 它不一定位于 App Store 中 问题是 当我加载应用程序时 它会将我带到 Safari 我知道 XCode 的早期版本中有一个设置 您可以在其中
  • 如何在 watir-webdriver 中使用 :class 选择器精确匹配

    关于 Watir 0 5 x 向后不兼容的更改通过 class 查找元素现在匹配部分类属性 https github com watir watir webdriver issues 36 我如何获得旧的行为 IE 以匹配确切的类名称 在一