关于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结构来使搜索更加具体。