0

我将 selenium_client 与 cucumber、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,这会混淆 selenium 吗?我怎样才能解决这个问题,以便我可以使用 IE 和 Firefox 对 selenium 使用相同的语句

只是为了让我们更加困惑,这个例子有效,确认它与检查类属性有关

selenium.is_visible("xpath=//*[@id='flash']/*[. =\'Deleted\']")
4

1 回答 1

0

看来您的 XPATH 表达式格式错误。

第一个 XPATH 缺少.'末尾的单引号flash_notice

它应该是:

selenium.is_visible("xpath=//*[@id='flash']/*[@class='flash_notice']")

第二个 XPATH 有' ]and)乱序,这会弄乱表达式。

它应该是:

selenium.is_visible("xpath=//*[@id='flash']/*[contains(@class,'flash_notice')]")

于 2010-04-17T13:21:45.133 回答