Chrome DevTools 利用ノート¶
Web ブラウザー Google Chrome に付属している Chrome DevTools の利用に関するノート。その機能のうち容易に利用できるものについて記す。
何はさておき、開発ツールを有効にする方法を習得する。次にコンソールに関する機能を習得するといいだろう。それからスタイルシート、スクリプト、イベント、デバッグ、等々と手を広げる。
開発ツールを起動する¶
正規版の Chrome では次のようにして開発ツールを開くらしい:
ショートカットキー Ctrl + Shift + I を押す。
ブラウザーで適当な HTML ページを開いて、右クリックメニューから 検証 を選択する。
私が利用している Sleipnir では右クリックメニューからしか起動できないらしい。
開発ツール専用のビューが出現する。上部にメニューがあるので、そこから項目を選んで後述する各ビューを表示させる。
コンソール¶
開発ツールメニューの Console を選択すると JavaScript が動くコンソールが出現する。各種シェルやプログラミング言語の対話的モードと同様のものだ。
コンテキストメニュー¶
右クリックメニューはシンプルなときとそうでないときがある。
コマンド |
動作 |
---|---|
コンソールの入出力表示をすべて消去する |
|
コンソールでの実行履歴を消去する |
|
実行ログをテキストファイルに保存する |
対象の HTML ページに対して JavaScript で何からのスクレイピングを行い、ログファイルを保存してテキストエディターで出力部分を取り出すという用途が考えられる。
出力が DOM ノードであって、そこでマウスの右クリックメニューを表示すると細かいメニューが現れる。
オブジェクト console
¶
オブジェクト console
が最初から利用可能だ。組み込みオブジェクトとでも言えるだろうか。これは次のようなメソッドを備えている。出力先はすべてコンソールとする。
メソッド |
レベル |
動作 |
---|---|---|
|
Error |
式が |
|
n/a |
コンソールを消去する。 |
|
Info |
このメソッドが呼び出された回数を出力する。 |
|
n/a |
上述の回数をリセットする。 |
|
Verbose |
ログレベルを除いて |
|
Info |
オブジェクトの内容を JSON 書式で出力する。 |
|
Info |
ノードの(その子孫を含む)内容を XML 書式で出力する。 |
|
Error |
オブジェクトをエラー書式で出力する。スタックトレースも出力する。 |
|
n/a |
以降の出力をグループ化するように指示する。 |
|
n/a |
|
|
n/a |
出力のグループ化を終了する。 |
|
Info |
|
|
Info |
オブジェクトをここに出力する。 |
|
Info |
オブジェクトからなる配列を表の形式で出力する。 |
|
n/a |
タイマーを開始する。 |
|
Info |
タイマーを終了して経過時間を出力する。 |
|
Info |
スタックトレースを出力する。 |
|
Warning |
警告を出力する。 |
スクリプトから console
を利用するときに便利であるものが多く含まれる。
コンソール API¶
Chrome DevTool が提供するコンソール用オブジェクトと関数を記す。有用なものが多い。
機能 |
意味 |
---|---|
|
直前に評価された式。シェルや IPython の |
|
開発ツール内で評価された DOM 要素で直近の五個を参照する。 |
|
CSS セレクターにマッチする DOM 要素を一つ返す。 |
|
CSS セレクターにマッチする DOM 要素を配列で返す。 |
|
XPath 式にマッチする DOM 要素を配列で返す。 |
|
|
|
対象オブジェクトをクリップボードにコピーする。 |
|
関数にデバッガーのブレイクポイントをセットする。 |
|
|
|
|
|
対象に関する情報を専用ビューに表示する。 |
|
対象オブジェクトのイベントリスナーを配列で返す。 |
|
対象オブジェクトのメンバー名を配列で返す。 |
|
関数の呼び出しを監視するように指定する。 |
|
イベントをログ出力させる。 |
|
CPU プロファイルセッションを開始する。 |
|
|
|
指定のコンストラクターがここまでに生成したオブジェクトすべてを配列で返す。 |
|
|
|
|
|
|
|
|
|
対象オブジェクトのメンバー値を配列で返す。 |
$_
は矢印キー ↑ で代替するのがふつうだろう。
スクレイピング作業については関数 $
, $$
, $x
がもっとも有用だ。これに対してログ保存機能や関数 copy()
を併用するというパターンが多い。
あとは JavaScript コードのデバッグや、DOM の変更をするのに有用な機能となっている。