关于Watir 0.5.x的向后不兼容更改
Finding elements by :class now matches partial class attributes.

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

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

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

因为一旦.click编辑,div就变成了“expander hasChildren” (以及其他类,具体取决于表行的颜色和内容)。有没有更好的方式编写扩展所有仍折叠的行的代码?

最佳答案

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

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

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

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

10-05 18:17