2011-09-21 91 views
0

有人知道如何模擬在Chromium上打字嗎?我想模擬真正的打字,並且我成功地在firefox上使用了keydown + keypress + keyup的組合。但是,這種方法在Chrome上不起作用。我嘗試了關鍵{down | press | up} native,但這也沒有幫助。使用type命令不起作用,因爲它不模擬真實的輸入,它只是設置輸入元素的值。我知道Chromium中存在一個無法成功分發關鍵事件的錯誤,但我不確定Selenium是否可以在JavaScript級別上工作,或者可能在窗口級別上工作。這是我無法克服的障礙嗎?Selenium:在Chrome上模擬打字

謝謝!

+0

你也試過typeKeys和fireEvent? –

+0

我試過typeKeys,它適用於Firefox,但不適用於Chromium,Opera和IE9。不知道如何在按鍵中使用fire事件,因爲我也需要傳遞keycode。 – bellpeace

+0

它適用於Opera 9,但我無法在Opera 11.5上運行它。 Chrome和Safari(基於Webkit的瀏覽器)觸發事件,但事件參數爲0,因此沒有足夠的數據可用。火狐瀏覽器就像一個魅力。 – bellpeace

回答

0

我不知道你是如何使用Selenium,但如果你通過Selenium RC API使用它,你可以使用正常類型(將字符串複製到字段中)。之後,嘗試使用類似fireEvent(「yourstringlcoator」,「KeyUp」)。在我想要觸發keyUP事件的情況下(這實際上是jQuery數據表),這對我有用。

+0

謝謝,但這不會解決我的問題。我使用的是Selenium RC,我需要模擬keydown + keypress + keyup,因爲我的應用程序捕獲了按鍵並對它做了一些事情,這非常複雜。我需要測試關鍵事件處理程序。 Chrome,Safari和IE9上的事件參數爲空。我想我將不得不使用黑客技巧,在那裏我會讓處理程序相信他得到了一些東西,而不是什麼。 – bellpeace