firebug のコンソールの実行ボタンを xxx.click() といった方式でクリックしたい場合の xxx がわかるでしょうか。


firefox 拡張の keysnail の拡張 Firebugnail( https://github.com/mooz/keysnail/wiki/plugin/ ) である程度マウスなしの操作が行えるのですが、肝心の実行をキックする部分でマウスを握ってしまうことになり困っています。

回答の条件
  • 1人5回まで
  • 13歳以上
  • 登録:2011/10/29 22:03:39
  • 終了:2011/10/29 22:42:37

ベストアンサー

id:mooz No.1

mooz回答回数1ベストアンサー獲得回数12011/10/29 22:35:55

ポイント100pt

ご質問に対する直接の回答は,

document.getElementById("fbCmdLineRunButton").click()

となります*1.「実行」というボタンには fbCmdLineRunButton という id が指定されているため,これを使ってノードを取得しています.

以下は補足事項です.

いかにして ID を取得するか

おそらく気になるのは,どのようにして fbCmdLineRunButton という ID を取得するのかということでしょう.

さて,ご存知かもしれませんが Firebug の UI を含めた Firefox の GUI は XML で記述されており DOM インタフェースにより操作することが可能です.

そうした Firefox の UI に対する DOM をツリー表示して操作するツール(拡張機能)として DOM Inspector というものが存在します.まずはこれをインストールしましょう.

インストール後 Ctrl + Shift + I を押すと DOM Inspector が起動します.ここで調査対象のドキュメントを選んでやる必要があるのですが,今回は Firebug を含む Firefox の UI が知りたいので File より Inspect Chrome Document サブメニューを開き,Firefox のウィンドウが持つタイトルを選択します.複数 Firefox のウィンドウを開いていたり,ダイアログを開いていたりするとそれらも全て候補に表示されるので,気をつけて選択してください.

無事に UI に対する DOM ツリーが表示できたら,ツリーをたどって目当ての要素を探してやります.とはいってもトップダウンに探していくのは骨が折れます.そこで DOM Inspector の双眼鏡アイコンの左にあるアイコンをクリックした後,実際に分析したい Firefox の UI に移り,Firebug の「実行」ボタンをクリックします.すると「実行」ボタンが赤く点滅し DOM Inspector 側でその DOM ノードが選択された状態になることかと思います.

「実行」ノードが DOM Inspector において選択されれば,その id 値が fbCmdLineRunButton となっていることがすぐにお分かり頂けるかと思います.

もう一つの答え

さて,ご質問の元々の目的は「キーボードを使い Firebug のコンソール(複数行表示)のコードを実行したい」というものかと思うのですが,実は複数行表示のコンソールでは Ctrl + Enter によりコードを実行することが可能であったりします.なので,こちらを使うというのも一つの手かと思います.

KeySnail の Eval

前置引数をつけて KeySnail の eval (Ctrl + :) を呼ぶと,その評価結果を DOM Inspector によりツリー表示することができます.

C-u C-: として document と入力し Enter を押せば,現在の UI に対する DOM ツリーを一発で表示することができ,便利かもしれません.

参考文献

*1:このコードは,拡張機能の権限下 Firefox のメインウィンドウのコンテキスト内で実行した場合にのみ有効なことに注意してください

id:kitokitoki

うまくゆきました。Keysanil いつも使っています。ありがとうございます。

2011/10/29 22:42:20

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません