人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: mori_dev
●カテゴリ:コンピュータ ウェブ制作
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● mooz
●100ポイント ベストアンサー

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

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 のメインウィンドウのコンテキスト内で実行した場合にのみ有効なことに注意してください


mori_devさんのコメント
うまくゆきました。Keysanil いつも使っています。ありがとうございます。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ