1
selectctrl = @browser.select(:xpath, "//select[id='foo']") 
selectctrl.select("Open") 
    在Firefox和Chrome
  • 這大火jQuery的其他活動,在IE瀏覽器,你 看到UI變化打開對於選擇框,但沒有被激發
  • 我已經看了看螢火觸發的事件,並試圖打電話 fire_event(「變化」),並顯示其他事件,但沒有 工作
  • 代碼在Firefox工程5,Chrome 12,不能在IE 9中使用
  • 在Windows上的Ruby 1.8.7補丁號顆
  • 最新的寶石
+0

難道你檢查哪些JavaScript事件被解僱? http://stackoverflow.com/questions/3787555/how-to-find-out-which-javascript-events-fired –

+0

是的,使用螢火蟲和設置記錄到選擇元素,它顯示了我試圖調用的標準JavaScript元素使用fire_event。儘管它適用於firefox,但不適用於IE 9. – Jim

回答

1

嘗試:

selectctrl.select 'open' 
selectctrl.fire_event 'change' 

你應該避免使用XPath,它是IE有問題,少可讀性

selectctrl = @browser.select :id => 'foo' 
+0

我們使用xpath來選擇html控件,id和類的更改,但自定義html屬性始終保持不變(尤其是在.net 3.5網站中)。 IE不正確支持xpath嗎?我們在FireFox和Chrome中使用XPath跨4000個步驟沒有問題。 – Jim

+0

是的,我已經試過了,它沒有錯誤,但它也不會在IE 9中做任何事情,除非將選擇控件更改爲打開,但掛鉤到其他事件(啓用另一個按鈕)是沒有射擊。他們在Chrome和FireFox中使用。 – Jim

+0

認真只在需要時才使用xpath,它通常也比較慢。也爲我的錢,這是更簡化,更容易閱讀--- browser.select_list(:id,'foo')。select('Open')---因爲它在一行中給你你所作用的元素以及你正在採取的行動。 –

相關問題