selenium在IE中找不到带类的元素

时间:2010-04-15 16:18:26

标签: xpath selenium cucumber css-selectors webrat

我正在使用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\']")

1 个答案:

答案 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')]")