Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9412

puppeteerを用いたブラウザ操作自動化 メモ

$
0
0
puppeteerとは プログラムから API で Chromeブラウザ を制御できる Node.jsライブラリ。 ブラウザ制御にはコマンドラインAPI といった開発者モードで使用できる API をそのまま使用できる。 事前準備(puppeteerインストール) ※Node.jsはインストール済みとする。 npm init npm install puppeteer コード test.js puppeteerでGoogle検索を行い、検索結果の1番上のページにアクセスし、スクリーンショットを取得する。 const puppeteer = require('puppeteer'); (async () => { const browser = await puppeteer.launch({ headless: false }); const page = await browser.newPage(); // Googleページを開く await page.goto('https://www.google.com/'); // 検索boxに`puppeteer`を入力 await page.type('input[name="q"]', 'puppeteer'); // 「Enter」ボタン押下 await page.keyboard.press('Enter'); // 検索結果要素の表示まで待機 await page.waitForSelector(".LC20lb", {visible: true}); // 検索結果のタイトル・リンク一覧取得 const searchResults = await page.evaluate(() => [...document.querySelectorAll(".LC20lb")].map(e => ({ title: e.innerText, link: e.parentNode.href })) ); console.log(searchResults); // 検索結果のページ1番目をクリック await page.click(".LC20lb"); // スクリーンショットを取得 await page.screenshot({ path: 'screenshot.png'}); await browser.close(); })(); 動作確認 node test.js [ { title: 'puppeteer/puppeteer: Headless Chrome Node.js API - GitHub', link: 'https://github.com/puppeteer/puppeteer' }, { title: 'puppeteerで始めるブラウザ操作の自動化 - 株式会社クレスコ', link: 'https://www.cresco.co.jp/blog/entry/15215/' }, { title: 'ヘッドレス Chrome Node API 「Puppeteer」 - Qiita', link: 'https://qiita.com/bezeklik/items/c6448d50ff0efb45829e' }, { title: 'Node.jsでPuppeteerを使いChromeを実行して画面キャプチャ ...', link: 'https://www.4peace.co.jp/tech/456/' }, { title: 'Puppeteer | Tools for Web Developers | Google Developers', link: 'https://developers.google.com/web/tools/puppeteer' }, { title: 'Puppeteer の概要 - Microsoft Edge (Chromium)', link: 'https://docs.microsoft.com/ja-jp/microsoft-edge/puppeteer/' }, { title: 'Puppeteerでできることまとめ - GMOアドパートナーズ ...', link: 'https://techblog.gmo-ap.jp/2018/12/28/puppeteer%E3%81%A7%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%93%E3%81%A8%E3%81%BE%E3%81%A8%E3%82%81/' }, { title: 'Puppeteerを使用したHeadless Chromeの操作 - ZOZO TECH ...', link: 'https://techblog.zozo.com/entry/puppeteer' }, { title: 'puppeteer を使用する - Jest', link: 'https://jestjs.io/ja/docs/puppeteer' }, { title: '「Puppeteer」とは? マウスやキーボードなしでブラウザ操作 ...', link: 'https://www.sbbit.jp/article/cont1/34562' } ] ※ブラウザ操作が行われ、screenshot.pngがテストコードと同一フォルダに保存される。 ※ヘッドレスモードで実行したい場合、以下のように変更する。 const browser = await puppeteer.launch({ headless: true }); 参考情報 puppeteer/puppeteer puppeteerで始めるブラウザ操作の自動化 ヘッドレス Chrome Node API 「Puppeteer」 Node.jsでPuppeteerを使いChromeを実行して画面キャプチャを撮る Scraping Google search result links with Puppeteer

Viewing all articles
Browse latest Browse all 9412

Trending Articles