12

I couldn't figure out a nice way to determine a suitable revision number to use with Puppeteer Sharp.

What I did was use the version lookup feature on the "OmahaProxy - Google Chrome" site. I looked-up the version of Chrome I'm running on my computer. [That seems like a reasonable starting point.] I assumed (guessed) that the "Branch Base Position" shown in the version info was a revision number.

I then opened the Chromium continuous builds archive and looked for a build for the revision around the revision number I found from the "OmahaProxy" site.

Is there a better way to find or pick a suitable revision number?

Kenny Evitt
  • 9,291
  • 5
  • 65
  • 93

3 Answers3

7

Puppeteer is always bundled with a specific revision of a specific version. I usually check the release information on Github where the expected Chromium version and revision is specified. For example:

v1.17.0

Big Changes

  • Chromium 76.0.3803.0 (r662092)

Then to download the right one,

  1. Go to Chromium browser snapshots

  2. Choose the directory of your platform (e.g., Linux_x64)

  3. Copy the revision number into the "Filter:" field without the "r" (e.g., 662092)

  4. Download the .zip file you need.


Additional info

  1. The URL template below can be just plugged in with the right information:

    https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=<platform>/<revision>/

    For example: https://commondatastorage.googleapis.com/chromium-browser-snapshots/index.html?prefix=Linux_x64/662092/

  2. The most common issue on Linux is missing dependencies, and the Puppeteer "Troubleshooting" document specifies all the Linux dependencies. (See apt instructions for Ubuntu.)

  3. curl needs -L when downloading on the console. See Stackoverflow thread.

  4. When one is using puppeteer-core,

    you will then need to call puppeteer.connect(\[options\]) or puppeteer.launch(\[options\]) with an explicit executablePath option.

    (from puppeteer vs puppeteer-core)

toraritte
  • 6,300
  • 3
  • 46
  • 67
2

Puppeteer requires number which correspond Chromium browser build snapshot number. You can get the latest snapshot number here:

or you can view all available snapshots here:

Kenny Evitt
  • 9,291
  • 5
  • 65
  • 93
  • Thanks! What about finding an available snapshot for (or close too) a version number shown in the regular Google Chrome UI? How could I find something like 'the most recent stable version' of Chromium? (Maybe all released versions, not part of the 'beta' or 'canary' feeds, are considered 'stable'?) – Kenny Evitt Jun 07 '18 at 14:04
  • I think the easiest way is just to use Downloader.DefaultRevision constant – Kirill Gribunin Jun 08 '18 at 11:09
  • I guess that'd work. The constant shouldn't change without my updating Puppeteer Sharp in my code. I'd prefer tho that it not update at all even then (to prevent unpleasant surprises). – Kenny Evitt Jun 08 '18 at 16:56
1

You can visit https://omahaproxy.appspot.com/deps.json?version=71.0.3542.0 。This chromium_ base_ Position should be what you want。This API comes from https://omahaproxy.appspot.com/

  • The link in this answer is to an API endpoint that provides the information the OP is asking for — so the link is actually the only generalized solution to OP’s question. – sideshowbarker May 17 '23 at 12:52