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

PuppeteerのBrowserFetcherクラス

$
0
0

今回はPuppeteerのBrowserFetcherクラスについて書いていきたいと思います。

BrowserFetcherクラス

BrowserFetcherはChromiumとFirefoxの異なるバージョンをダウンロードして、管理することができます。

BrowserFetcherはChromiumのバージョンを("533271"にたいな)指定するrevision string上で操作します。revision stringはomahaproxy.appspot.comから得ることができます。と、言いたいところなのですが、確認したところ、存在しないものが多いので、こちらの方を見てください。

Firefoxの場合、BrowserFetcherはFirefox Nightlyをダウンロードして、("75"にたいな)バージョン番号を操作します。Firefox Nightlyのホストはこちらを見てください。

canDownloadメソッド

revisionが利用可能かどうかを確かめるメソッド。

ホストからダウンロード可能であれば、trueを返してくれます。

例(createBrowserFetcherの設定によって結果が変わります):

constpuppeteer=require('puppeteer');asyncfunctioncheckRevision(revision){constbrowserFetcher=puppeteer.createBrowserFetcher();constisAvailable=awaitbrowserFetcher.canDownload(revision);if(isAvailable){console.info('This revision is available.');}else{console.info('This revision isn\'t available.');}}checkRevision('756066');// win64checkRevision('1000583');// This may release from now on but this isn't release at the moment.checkRevision('78.0a1');// If this product is Firefox, this result is true.

結果:

This revision is available.
This revision isn't available.
This revision isn't available.

downloadメソッド

ChromiumもしくはFirefox Nightlyをダウンロードするメソッド。

browserFetcher.download(revision[, progressCallback])

revision         string ダウンロードするためのrevision
progressCallback function(number, number)
    downloadedBytes number ダウンロードされたバイト数。
    totalBytes      number 合計ダウンロードバイト数。

簡単な例:

constpuppeteer=require('puppeteer');(async()=>{constbrowserFetcher=puppeteer.createBrowserFetcher();awaitbrowserFetcher.download('771731',(downloadedBytes,totalBytes)=>{// any code...});})();

hostメソッド

使用されているダウンロードホストを返すメソッドです。

localRevisionsメソッド

ディスク上でローカルに利用可能な(現在のproductの)すべてのrevisionのリストを返すメソッド。

platformメソッド

maclinuxwin32、またはwin64のいずれかを返すメソッド。

productメソッド

chromeもしくはfirefoxのいずれかを返すメソッド。

removeメソッド

ダウンロードされたChromiumもしくはfiredfoxをrevisionを指定して削除するメソッド。

revisionInfoメソッド

revisionを指定してそのrevisionの情報を出すメソッド。

サンプル

ローカルにはrevision:389298と771731がダウンロード済み。

constpuppeteer=require('puppeteer');(async()=>{constbrowserFetcher=puppeteer.createBrowserFetcher();console.info('host: '+awaitbrowserFetcher.host());await(browserFetcher.localRevisions()).then(revisions=>console.info(revisions));console.info('platform: '+awaitbrowserFetcher.platform());console.info('product: '+awaitbrowserFetcher.product());constinfo1=awaitbrowserFetcher.revisionInfo('389298');constinfo2=awaitbrowserFetcher.revisionInfo('771731');constinfo3=awaitbrowserFetcher.revisionInfo('385798');console.info(info1);console.info(info2);console.info(info3);})();

結果:

[ '389298', '771731' ]
platform: win64
product: chrome

{ revision: '389298',
  executablePath:
   'path\\node_modules\\puppeteer\\.local-chromium\\win64-389298\\chrome-win32\\chrome.exe',
  folderPath:
   'path\\node_modules\\puppeteer\\.local-chromium\\win64-389298',
  local: true,
  url:
   'https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/389298/chrome-win32.zip',
  product: 'chrome' }

{ revision: '771731',
  executablePath:
   'path\\node_modules\\puppeteer\\.local-chromium\\win64-771731\\chrome-win\\chrome.exe',
  folderPath:
   'pathp\\node_modules\\puppeteer\\.local-chromium\\win64-771731',
  local: true,
  url:
   'https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/771731/chrome-win.zip',
  product: 'chrome' }

{ revision: '385798',
  executablePath:
   'path\\node_modules\\puppeteer\\.local-chromium\\win64-385798\\chrome-win32\\chrome.exe',
  folderPath:
   'path\\node_modules\\puppeteer\\.local-chromium\\win64-385798',
  local: false,
  url:
   'https://storage.googleapis.com/chromium-browser-snapshots/Win_x64/385798/chrome-win32.zip',
  product: 'chrome' }

さいごに

次はBrowserクラスをやっていきたいと思います。


Viewing all articles
Browse latest Browse all 8691

Trending Articles