Playwright is the new Puppeteer

Playwright is the new Puppeteer

TL;DR: Playwright is the successor of Puppeteer including support for all major browsers.

The most active contributors of Puppeteer Andrey Lushnikov and Joel Einbinder are now part of the team of Playwright. In one version of the repository’s README.md they stated:

We are the same team that originally built Puppeteer at Google but has since then moved on. With Playwright, we'd like to take it one step further and offer the same functionality for all the popular rendering engines. We'd like to see Playwright vendor-neutral and shared governed.

-- Playwright README.md: Q: How does Playwright relate to Puppeteer?

For now, I don’t have any reason to switch to Playwright

Playwright (vs. Puppeteer)

By default Playwright downloads Chromium, WebKit and Firefox browsers into the OS-specific cache folders, but you can also download single browser version.

Add-ons for Playwright

Playwright also has some Niek/playwright-addons albeit really basic ones (adblocker, stealth mode)

Code generation

Code generation aka “record command sequences”: Using script recorders

One can use included CLI microsoft/playwright-cli. CLI codegen command will attempt to generate resilient text-based selectors.

It works amazing in Windows

# codegen works on on Chrome
npx playwright-cli codegen example.com

Start any browser:

# Firefox?
npx playwright-cli ff example.com

# or in WebKit? Like Safari but on Windows
npx playwright-cli wk example.com

Using browser extension

Headless Recorder is a Chrome extension.

Vrlo slična fora sa extenzijom (Chrome only): Record Puppeteer or Playwright tests as code for free.

Using library

Besides codegen there is similar library QA Wolf

Playwright & Puppeteer: Basic operations

Intercepting requests

Puppeteer

Puppeteer in PHP How to write decent crawlers with php | thePHP Website GitHub - spatie/crawler: An easy to use, powerful crawler implemented in PHP. Can execute Javascript. you can set proxy in guzzle

Screenshot: GitHub - spatie/browsershot: Convert html to an image, pdf or string

Puppeteer By default, Puppeteer downloads and uses a specific version of Chromium so its API is guaranteed to work out of the box.

composer require spatie/browsershot npm i puppeteer

; required apt -y install libgbm-dev libnss3

puppeteer/troubleshooting.md at main · puppeteer/puppeteer

I’ve had the same problem on Ubuntu 20.04. Fixed with installing these packages

sudo apt-get update sudo apt-get -y –no-install-recommends install libxrandr2 libatk1.0-0 libatk-bridge2.0-0 libx11-xcb1 libxcb-dri3-0 libxcomposite1 libxcursor1 libxdamage1 libcups2 libdrm2 libgbm1 libgtk-3-0

And it’s possible to see the list of missing libraries with ldd

ldd ./node_modules/puppeteer/.local-chromium/linux-*/chrome-linux/chrome | grep “not found”


Puppeteer examples | Dev Diary and Web scraping in the console | Dev Diary


Kako sačekati da se sve redirekcije završe?

page.waitForNavigation

await page.goto(url, {waitUntil: ’networkidle2’});

My problem:

Timeouts | Checkly Navigating & waiting | theheadless.dev - Learn Puppeteer & Playwright

Slično:

waitForNavigation doesn’t work after clicking a link · Issue #1412 · puppeteer/puppeteer

How I’ve been Using Puppeteer. Today I thought I would go over how… | by Joel Ramos | ramosly | blog


https://github.com/peterbe/minimalcss


How to write chrome extension?

How to use Puppeteer in a Chrome extension - DEV Writing Chrome Extensions by Daniel Shiffman


https://www.gutscheinpanda.ch/module/kern/_voucher-crawlers/voucher-testing.php https://www.gutscheinpanda.ch/module/kern/_voucher-crawlers/voucher-testing.php


Delightful Active Monitoring for the Modern Stack and their


Playwright also allows developers to capture videos of test script runs

Test-Automation Playwright Tool Now Records and Replays Interaction Scripts, Captures Test Videos Playwright CLI with all new test recorder, video capture and more features …


Controlling Google Chrome with just PHP code

Automating WordPress backends with Chrome and PHP chrome-php/chrome: Instrument headless chrome/chromium instances from PHP


sensepost/gowitness is a web screenshot utility using Chrome Headless, in Golang. The credits links are all amazing. Website Screenshots with Gowitness. With the following single command I was able to concurrently generate screenshots for over 800 sites in under 18 minutes.


WooW! chrome-php/chrome: Instrument headless chrome/chromium instances from PHP

date 01. Jan 0001 | modified 14. Jun 2024
filename: Scraping » Playwright and Puppeteer