私はcapybara-webkitを使用しており、DOM内の要素のclickイベントにバインドされたイベントハンドラを取得したいと考えています。ネイティブのQtWebKit呼び出しを使用しても、RubyでWebkitドライバを使用してそれを行う方法を理解するのにはおそらく十分なはずです。私が抱えている課題は、イベントハンドラがHTMLではなくJavaScriptでプログラムでバインドされていることです。これを行う方法に関するこれまでの検索は、QWebViewでイベントをクリックする方法や他の方法でトリガする方法で終わるようです。イベントハンドラ(つまり、実際の関数定義)、特にイベントにバインドされた匿名関数を、イベント自体を生成せずに調べる必要があります。どんな助けもありがとうございます。capybara-webkitまたはネイティブQtWebKitを使用してDOM要素のクリックハンドラを取得するにはどうすればよいですか?
1
A
答えて
0
任意のJavascriptを実行し、結果をpage.execute_script
で返すことができます。ここでは、イベントハンドラに内省に完全な答えがあります
page.execute_script(<<-JAVASCRIPT)
var handlers = $('.some-selector').data("events").click;
jQuery.each(handlers, function(key, handler) {
console.log(handler);
});
JAVASCRIPT
:対象のイベントハンドラはjQueryのを使用してバインドされている場合は、これはそれらを一覧表示されますHow to find event listeners on a DOM node when debugging or from the JavaScript code?
関連する問題
- 1. Mootoolsを使用してDOMから要素を選択するにはどうすればよいですか?
- 2. DOM要素の位置オフセットを正しく取得するにはどうすればよいですか?
- 3. 計算されたスタイルのネイティブDOM HTML要素を文字列として取得するにはどうすればよいですか?
- 4. jQueryで基になるDOM要素をIDで取得するにはどうすればよいですか?
- 5. jQueryを使用して、要素のテキスト値を取得するにはどうすればよいですか?
- 6. emberビューの外でDOM要素を取得するにはどうすればよいですか?
- 7. Javascriptで前のDOM要素を取得するにはどうすればよいですか?
- 8. C#を使用してxaml要素を取得するにはどうすればよいですか?
- 9. XPathを使用して要素を取得するにはどうすればよいですか?
- 10. Waypointを使用してアクティブな要素を取得するにはどうすればよいですか?
- 11. 別のDOM要素内のDOM要素を見つけるにはどうすればよいですか?
- 12. 要素としてDOMイベントを使用するにはどうすればよいですか?
- 13. DOMの要素をテストするにはどうすればよいですか
- 14. PHPを使用して特定のDOMノードを取得するにはどうすればよいですか?
- 15. GoogleマップマーカーのHTML DOM要素を取得するにはどうすればよいですか?
- 16. 要素にクリックハンドラがあるかどうかを確認するにはどうすればいいですか?
- 17. DOM要素を変更するにはどうすればよいですか?
- 18. jQueryまたはJavaScriptを使用して他の要素にどのようにtd要素を定義するにはどうすればよいですか?
- 19. DOM要素はC++プログラムからどのように取得できますか?
- 20. 要素の値が与えられている場合、DOM要素の一意のCSSセレクタを取得するにはどうすればよいですか?
- 21. DjangoでDOM要素を生成または変更するにはどうすればよいですか?
- 22. DOM要素をインラインスタイルにするにはどうすればいいですか?
- 23. jQueryのajaxメソッドを使用してhtmlからdom要素を取得するにはどうすればよいですか?
- 24. 既存のDOM要素テキストをHTML要素に変換するにはどうすればよいですか?
- 25. 要素IDでJavaScriptの要素のtitleプロパティを取得するにはどうすればよいですか?
- 26. DOM要素の次のディナミック要素を選択するにはどうすればよいですか? (CSSセレクタ)
- 27. 、要素のすべての兄弟要素を取得するにはどうすればいいですか?
- 28. nightwatch.jsを使ってIdで要素を取得するにはどうすればよいですか?
- 29. 読み込まれたiframeのタイトル要素を取得するにはどうすればよいですか?
- 30. DOM要素をjQuery要素に変換するにはどうすればよいですか?
良い質問は、私はあなたどのようにわからないんだけどユーザーが要素をクリックして要素をクリックしたときにジェネリックjsを発射するような何かを行うことなく、何かを行うことなく、それを行います。もしそれがあなたに役立つでしょうが、['QWebElement'](http:// developer。 qt.nokia.com/doc/qt-4.8/qwebelement.html)。 'QWebView-> page() - > currentFrame() - > documentElement()'でドキュメントのルートの 'QWebElement'を得ることができます。 – sjwarner