4

次のコードを試しました。

page.find("#{element_name}").trigger(:mouseover)        

エラーが発生しました:

Capybara::NotSupportedByDriverError (Capybara::NotSupportedByDriverError)

私はセレンウェブドライバーを使用しています。

次のURLによると、トリガーはSeleniumWebドライバーに実装されてい ません。Capybaraテストでマウスイベントをトリガーできません

カピバラでトリガーを使用する代わりに、要素にマウスホバーを実行する方法に代わる方法はありますか?

4

1 に答える 1

5

page.execute_script(some_javascript)、特にsome_javascript = "$(selector).trigger(event)"。これは、js対応のすべてのドライバーで機能します。これpage.evaluate_script(some_javascript)も機能する可能性がありますが、保証も推奨もされていません(evaluate_scriptスクリプトがプリミティブを返す場合にのみ使用してください)。

つまり、必要な処理を実行するクライアント側のスクリプトを実行します(イベントをトリガーします)。

于 2012-12-24T10:45:12.177 に答える