关于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
的类变为“expandder hasChildren”(可能还有其他类,具体取决于表格行颜色和内容)。是否有更好的方法来编写扩展仍然折叠的所有行的代码?
答案 0 :(得分:4)
要匹配确切的类名,可以使用带有起始和结束锚点的正则表达式:
$browser.div(:class => /^expander$/).exists?
这将完全匹配“扩展器”,但不匹配“扩展器hasChildren”或“扩展器”。
关于是否有更好的方法来扩展所有行的其他问题,我认为这实际上取决于页面的HTML是什么样的。你有一个例子吗?当我遇到类似控件的类似问题时,我能够使用可点击控件周围的div结构来使搜索更具体。