我正在使用selenium_client和黄瓜,webrat + IE 正如您所料,Firefox运行良好。我尝试了以下内容:
selenium.is_visible("css=#flash .flash_notice")
selenium.is_visible("xpath=//*[@id='flash']/*[@class='flash_notice]")
selenium.is_visible("xpath=//*[@id='flash']/*[contains(@class,'flash_notice]')")
两者都找不到元素。 我认为它必须与IE有关,仔细观察来自IE的html selenium返回... 它看起来像这样:
<UL id=flash>
<LI className=flash_notice>Deleted</LI>
</UL>
注意IE将class属性作为className返回,这是令人困惑的硒吗?我怎样才能绕过这个,以便我可以使用IE和Firefox
使用相同的selenium语句只是为了让我们更加困惑,这个例子很有用,确认它与检查类属性有关
selenium.is_visible("xpath=//*[@id='flash']/*[. =\'Deleted\']")
答案 0 :(得分:0)
您的XPATH表达式似乎格式不正确。
第一个XPATH缺少'
末尾的单引号flash_notice
。
应该是:
selenium.is_visible("xpath=//*[@id='flash']/*[@class='flash_notice']")
第二个XPATH的'
]
和)
乱序,这会弄乱表达。
应该是:
selenium.is_visible("xpath=//*[@id='flash']/*[contains(@class,'flash_notice')]")