2017-12-27 778 views

回答

0

沒有Poltergeist沒有。如果你必須使用Poltergeist進行測試,那麼你可能將不得不使用execute_script來從JS構建和激發事件。請注意,只有當它是一個JS小部件時才適用。如果它實際上是一個帶有多個屬性的HTML選擇,那麼您應該可以單獨選擇每個選項,並且它會選擇多個。

+0

謝謝Thomas!我也知道這個解決方案:https://stackoverflow.com/questions/8474103/is-there-a-way-to-send-key-presses-to-webkit-using-capybara雖然它建議使用KeyboardEvent。根據MDN的keyCode已被棄用,並沒有真正推薦。我正在嘗試選擇'li'HTML元素。問題是我們故意這樣做,以便用戶需要按住'Ctrl'或'Shift'才能執行多重選擇。 – SpartaSixZero

+0

@SpartaSixZero'send_keys'在返回之前釋放密鑰,所以它不會因爲後面的點擊而關閉。從你的描述中,我假設你需要發出一個鼠標點擊事件,並在該事件中設置正確的鍵盤修飾符。如果你的代碼也實現了通過鍵盤進行多選的方法,那麼你可以用'send_keys'來實現 - http://www.rubydoc.info/gems/capybara/Capybara/Node/Element#send_keys-instance_method - in一個交叉驅動的方式 –

+0

不幸的是,我們的要求規定我們需要結合keydown和鼠標左鍵單擊來進行多重選擇。所以我不認爲send_keys在這裏會有幫助,因爲send_keys只需要鍵而不是鼠標點擊。我懷疑只要按下按鍵就可以做出多重選擇,但不值得僅僅做一次水豚測試。 – SpartaSixZero

相關問題