Playwrightとは
Playwrightは、Microsoft製のブラウザ自動化ライブラリです。ChromiumやFirefox、WebKitを操作でき、「人間がブラウザでやる操作」をPythonやJavaScriptのコードで自動実行できます。いわゆる「ブラウザを動かすロボット」を作るツールです。gpirot.comでは、APIが存在しないWebサービスへの投稿自動化に欠かせない存在になっています。
gpirot.comでのPlaywrightの具体的な使い方
このサイトの運営では、主に2つの場面でPlaywrightが活躍しています。
① note.comへの記事自動投稿(run_note_publisher.py)
note.comには公式APIが存在しません。そのため、run_note_publisher.pyというスクリプトでPlaywrightを使い、まるで人間が操作するようにブラウザを動かして記事を投稿しています。処理の流れはこうです。
- ログイン画面にIDとパスワードを入力してサインイン
- 記事タイトルをタイトルフィールドに入力
- AIが生成した本文をエディタにペースト
- アイキャッチ画像を設定
- 公開ボタンをクリックして記事を公開
毎回ログインし直すとセッション切れのリスクがあるため、ログイン後のセッション情報を.note_session.jsonというファイルに保存しています。次回実行時はこのCookieを再読み込みするので、ログイン処理をスキップできます。これにより、投稿の安定性と速度が大きく向上しました。
② WordPressカスタマイザーの設定変更
gpirot.comはWordPressテーマ「SWELL」を使っていますが、カスタマイザーの設定変更もPlaywrightで自動化しています。WordPress管理画面にアクセスし、wp.customize APIを通じてデザイン設定を操作します。手作業でカスタマイザーを開いて保存する手順をそのままコード化したイメージです。
どちらの処理もヘッドレスChromium(画面を表示せずに動くブラウザ)で動作しているため、サーバー上でGUIなしに実行できます。また、処理中に問題が起きたときのためにスクリーンショット保存機能を組み込んでおり、「どの画面でエラーになったか」を画像で確認できるようにしています。
実際に使ってわかったこと・ポイント
- Cookieの保存と再利用は必須:
.note_session.jsonによるセッション再利用がないと、毎回ログインが走り、reCAPTCHAや2段階認証に引っかかるリスクが上がります。一度ログインしたセッションを使い回す設計が安定運用の鍵です。 - スクリーンショットはデバッグの命綱:ヘッドレスモードでは処理中の画面が見えないため、「どこで失敗したか」の調査が難しいです。重要な処理の前後でスクリーンショットを撮っておくと、トラブルシュートの時間を大幅に短縮できます。
- ページの読み込み待ちに注意:ボタンをクリックしてもページが切り替わる前に次の操作が走ると失敗します。Playwrightの
wait_for_selectorやwait_for_navigationを使って、「確実に画面が切り替わってから次へ」という設計が重要です。 - APIがないサービスこそPlaywrightの出番:note.comのようにAPIが公開されていないサービスでも、「人間がやる操作」をそのままコード化できるのがPlaywrightの大きな強みです。
まとめ:APIがないなら、ブラウザを動かせばいい
gpirot.comでPlaywrightを使って実感したのは、「自動化の壁はAPIがないことではない」ということです。note.comのようにAPIが存在しないサービスでも、Playwrightを使えばブラウザ操作ごと自動化できます。
エンジニアでない白米元気がClaude Codeと対話しながらこのスクリプトを構築したように、「何をしたいか」を明確にしてAIに相談すれば、Playwrightのコードは書けます。AI副業・自動化に興味がある方は、まず「自分が毎回手動でやっている操作」をリストアップしてみてください。そこにPlaywrightの出番が隠れているかもしれません。

コメント