2019.07.03この記事ではNode.jsのライブラリPuppeteerを使って画面遷移する(リンクをクリックする)やり方を解説します。ブラウザの自動操作に興味がある、楽をしたいPuppeteerの基本的な操作を知りたいPuppeteer使ってみたけど難しいという方向けに複数回に分けてPuppeteerの基本操作を解説していきます。一通り目を通すことで、ブラウザの自動操作を体感できる(作れるようになる)ことを目指します。固定のリンクを使って画面遷移する(静的リンク)リンクには静的リンクと動的リンクの二種類がありますので二つに分けて説明していきます。静的リンクは固定の文字列(例:https://www.kennejs.com/)で変わることがないリンクを指します。静的リンクはpage.goto()で直接指定します。以下のサンプルコードでは二画面の固定リンクに遷移しています。page.goto()でリンク先を指定する。page.goto()でリンク先を指定する。...})();}画面遷移後はページが読み込まれるのを待とう上のサンプルでは画面遷移後に「page.waitFor(1000)」で1秒(1000ミリ秒)待機する処理を入れています。ブラウザのページ遷移では非同期でページ要素を生成している場合があり、待機させる処理を入れておかないと次の処理ができずに止まってしまうことが頻繁にあります。「page.waitFor(1000)」で画面が読み込まれるのを待つ処理は必ず入れておく必要があります。サンプルの1000の値は読み込む画面によって変わるのでコーディングしながら適切な値を設定してください。APIにはミリ秒だけではなく、指定したCSSセレクタやページ全体を読み込むのを待つ関数も用意されています。可変のリンクを使って画面遷移する(動的リンク)リンクの二つ目は動的リンクで、厄介なことにリンクが可変です。「https://(URL)?xID=134a9bc」のように、毎回「xID=」の部分が変わるようなリンクでWebアプリケーションで動的に生成されます。このようなリンクはコードに直書きできないため、工夫が必要です。画面で「https://(URL)?xID=134a9bc」がaタグで「最新情報」のような文字リンクで定義されている場合は以下のようにコーディングします。※タグが文字を囲っている(例:<a>最新情報</a>)構成の場合に対応することができます。}}aTagAll[indicator].click();aタグでない、divやspan等のタグでも対応できます。(1の箇所を修正します)「最新情報」の文字列は2で定義していますので、2の箇所を変更してみてください。上記のサンプルは記述量は増えてしまいますが汎用性が高いのでオススメです。動的リンクで利用したサンプルを詳しく解説しています。PuppeteerでボタンをクリックするPuppeteerはブラウザのスクレイピング(自動操作)ができるNode.jsのライブラリです。Node.jsを利用していてブラウザ操作に興味がある人にオススメです。この記事ではボタンをクリックする方法をパターン別に解説します。...kennejs.com2019.02.05Puppeteerで作ったプログラムを自動実行させるライブラリの紹介です。【Node.js】スクレイピングをスケジューラーで定時実行させるにはnode-scheduleが便利(起こりやすいエラーも紹介)スクレイピングツールを毎日決まった時間に動かしたいときのライブラリ(node-schedule)の紹介です。Linuxでジョブを定時実行するcrontabと同じcron形式なので操作しやすく、導入も簡単なのでおすすめです。スクレイピン...kennejs.com2019.04.07Puppeteerを自作したらVPSで稼働させてみよう。コスパで比較!初心者向けのVPSの選び方とおすすめのVPS初心者向けにVPSの選び方を紹介します。この記事では、・VPSを使いたいけど何を選んだらいいかわからない・アプリ開発に時間を割きたいので一番いいVPSだけ知りたいという方向けにVPSサービスをコスト別のランキング形式で比較して...kennejs.com2019.12.29外部サーバで稼働させるにはさくらVPSが手軽でおすすめです。Puppeteerを学習できる数少ない書籍です。closed.Puppeteerのエラーが出た際の対処法です。Warningとなっていますが後続の処理は実行されないので対処が必要です。Proto...PuppeteerPuppeteerの基本的な動かし方Puppeteerの基本的な動かし方のまとめ記事となります。PuppeteerはNode.jsのライブラリで定型的なブラウザの操作を自動化できるようになります。基本的なコードが書けると流用して自分のやりたいことができるようになりますので...Puppeteer【Node.js】Puppeteerで文字入力する(ログインする方法も)この記事ではNode.jsのライブラリPuppeteerを使って文字入力する方法を解説します。固定の文字を何回もWebに入力することってめんどくさいんですよね。スマホはコピーして貼り付けるのも一苦労だと思います。使えるシーンはあまり...Node.jsPuppeteerのスクレイピングを同期的に呼び出す(Async/await)PuppeteerのスクレイピングをAsync/awaitを使って同期的に呼び出す方法です。Async/awaitについて理解できていれば普通に作れると思いますが、慣れていないと難しいと思いますので参考にしてください。...Node.jsPuppeteerでボタンをクリックするPuppeteerはブラウザのスクレイピング(自動操作)ができるNode.jsのライブラリです。Node.jsを利用していてブラウザ操作に興味がある人にオススメです。この記事ではボタンをクリックする方法をパターン別に解説します。※このページは2019/7/14に作成されました。こんにちは、ケネです。この記事ではNode.jsのライブラリPuppeteerを使って文字入力する場合の注意事項について解説します。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。上に表示された文字を入力してください。ホームIT・プログラミングPuppeteerプロフィールケネはじめまして、ケネです。Node.jsや仮想通貨APIトレードなどの技術情報を書いています。一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。技術で自分の世界を広げましょう。不明点や質問があればお気軽にコメントください。IEO英語お問い合わせホーム検索トップサイドバープロフィールケネはじめまして、ケネです。Node.jsや仮想通貨APIトレードなどの技術情報を書いています。一人でも多くの方と「自分でもできた」感覚を共有したいので、なるべくわかりやすく、実体験ベースでのブログを心がけています。技術で自分の世界を広げましょう。不明点や質問があればお気軽にコメントください。Compassを使おう(画面からの更新で作業効率アップ)2019.11.132019.12.16アーカイブ2020年1月42019年12月12019年11月32019年10月62019年9月52019年8月72019年7月92019年6月62019年5月92019年4月112019年3月102019年2月112019年1月152018年12月82018年11月1タイトルとURLをコピーしました。