Does Pipedream now support either of puppeteer or playwright?

This topic was automatically generated from Slack. You can find the original thread here.

Joris Zetoolbox : hello.
I’m Joris,
Does Pipedream now support either of puppeteer or playwright ?
I’m currently getting a message I cant do anything with :
> browserType.launch: Executable doesn’t exist at /home/sbx_user1051/.cache/ms-playwright/firefox-1295/firefox/firefox
> ╔═════════════════════════════════════════════════════════════════════════╗
> ║ Looks like Playwright Test or Playwright was just installed or updated. ║
> ║ Please run the following command to download new browsers: ║
> ║ ║
> ║ npx playwright install

Dylan Sather (Pipedream) : not yet, but we are planning to support in the future. If you don’t mind following this issue, we’ll post updates there.

I hear you on not wanting to add yet another vendor. I will say that Browserless is a great service - we use it internally.

Joris Zetoolbox : issue : now that Pipedream runs Node 14,
I can use chrome-aws-lambda package there ?
Sure I’ll follow updates.

Dylan Sather (Pipedream) : You can give it a try (workflows run on AWS Lambda behind the scenes). The larger issue is how we download / store the Chrome binary to the execution environment, so you may still have issues with that package, but let me know if you get it working, and feel free to update the GitHub issue with anything you find!

Joris Zetoolbox : yep got message :
npx playwright install

by using puppeteer, I just get a big NPM error.

Do you know if I can run easily pupetteer or playwright on GCP ?

Joris Zetoolbox : or any other serverless platform ?

Joris Zetoolbox : were you able to download a PDF file from Browserless.io ?

Dylan Sather (Pipedream) : I haven’t tested, but would you mind reaching out to Browserless support to see if they could assist? I think they’ll be the best team to help with that specifically

the Download feature of Browserless and ZeroBrowser don’t work. seem very a hassle.
I get a blank PDF file from URL it was reached at. I gave up this way.

Meanwhile I’ve built a serverless function onto Google Cloud Platform (GCF) :
with these deps :

  • playwright-aws-lambda: “0.7.0”,
  • playwright-core: “^1.16.1”

on node12
works like a charm.
There are obviously far more recent versions of these, but I can’t tell if things still keep working with such fresh.

But beware of one thing :
the download URL I get does force the download.
“download” event is never emitted, so won’t be caught by page.waitForEvent().
The file is automatically and silently stored in function container’s /tmp folder.