2010-04-15 74 views
0

我正在使用selenium_client和黃瓜,webrat + IE 正如您所期望的那樣,Firefox工作正常。我試過以下內容:硒在IE中無法找到類中的元素

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硒回報接近...... 它看起來像這樣:

<UL id=flash> 
    <LI className=flash_notice>Deleted</LI> 
</UL> 

通知IE返回類屬性作爲類名,這是令人困惑的硒?我怎樣才能避免這種情況發生,這樣我可以使用相同的語句使用IE和Firefox

只是爲了更加迷惑我們的硒,本例中工作,確認其是與檢查類屬性

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

回答

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