关于Watir 0.5.x的向后不兼容更改通过查找元素:class现在匹配分部类属性。
我该如何获得旧的行为?即匹配准确的类名。
它破坏了我的代码,在一个例子中:
# expand all multiple records
while $browser.div(:class => "expander").exists?
$browser.div(:class => "expander").click
end
因为一旦.click
出现,div
的类就会变成"expander hasChildren"(可能还有其他类,具体取决于表行的颜色和内容)。有没有更好的方法来编写扩展所有仍然折叠的行的代码?
要匹配确切的类名,可以使用带有起始和结束锚点的正则表达式:
$browser.div(:class => /^expander$/).exists?
这将完全匹配"扩展器",但不匹配"扩展器hasChildren"或"某种扩展器"。
对于您的另一个问题,即是否有更好的方法来扩展所有行,我认为这实际上取决于页面的HTML外观。你有一个例子吗?当我在类似的控件中遇到类似的问题时,我可以使用可点击控件周围的div结构来使搜索更加具体。