核心 API の詳細解説
自動化スクリプトを作成する際、最も頻繁に使用されるコマンドをわかりやすく解説します。
1. ページ遷移と読み込み
page.goto(url)- 解説: ブラウザを指定した URL へ移動させます。
- テクニック:
{ waitUntil: 'networkidle2' }オプションを付けることを推奨します。これは、ネットワーク活動がほぼ停止し、ページが十分に読み込まれるまで待機することを意味します。これにより、読み込み不足によるエラーを防げます。
page.waitForNavigation()- 解説: ページの遷移(切り替わり)を待機します。
- シーン: ログインボタンをクリックした直後など、ページ自体が別の URL に切り替わる場合に、このコマンドで遷移完了を待ってから次の操作を行います。
2. 要素の検索と待機
page.waitForSelector(セレクタ)- 解説: 指定した「要素(ボタンや入力欄)」が画面に出現するまで待機します。
- 重要性: 最も推奨されるコマンドです! ページのレンダリング速度は環境によって異なるため、まだ表示されていないボタンをクリックしようとするとエラーになります。「待ってから操作する」ことを習慣にしましょう。
page.$(セレクタ)- 解説: 指定した要素を取得(キャプチャ)します。
- 用途: 要素内のテキストを取得したり、その要素が存在するかどうかを判定したりする場合に使用します。
3. 人間らしい操作のシミュレート
page.type(セレクタ, テキスト)- 解説: 指定した入力欄に文字を入力します。
- 実戦: 主にアカウント名、パスワード、検索キーワードの入力に使用します。
page.click(セレクタ)- 解説: 指定した要素をマウスでクリックします。
- テクニック: より人間らしく見せるために、クリックにわずかな遅延を入れることも可能です:
await page.click(selector, { delay: 100 })。
4. 究極の回避策:スクリプト注入
page.evaluate(関数)- 解説: ブラウザのページ内で JavaScript を直接実行します。
- 用途: 最も強力なコマンドです。通常のクリック操作が効かない特殊なボタンを
document.querySelector('...').click()で強制的にクリックしたり、ページ内の複雑なデータを直接抽出したりできます。
5. スクリーンショットと PDF
page.screenshot({ path: '...' })- 解説: 現在の画面を画像として保存します。
- 用途: 自動化プロセスの重要なステップを証拠として残したり、エラー発生時にその時の画面を保存して原因調査に役立てたりします。
TIP
基本は理解できましたか?次の章 実戦ケース:自動ログインと Cookie 注入 では、実際の業務シーンでの活用方法を学びます。
