All Projects → checkly → Puppeteer Examples

checkly / Puppeteer Examples

Licence: apache-2.0
Puppeteer example scripts for running Headless Chrome from Node.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Puppeteer Examples

Differencify
Differencify is a library for visual regression testing
Stars: ✭ 572 (-79.43%)
Mutual labels:  jest, puppeteer, headless-chrome
Puphpeteer
A Puppeteer bridge for PHP, supporting the entire API.
Stars: ✭ 1,014 (-63.54%)
Mutual labels:  developer-tools, puppeteer, headless-chrome
Phantomas
Headless Chromium-based web performance metrics collector and monitoring tool
Stars: ✭ 2,191 (-21.22%)
Mutual labels:  developer-tools, puppeteer, headless-chrome
Puppeteer Dart
A Dart library to automate the Chrome browser over the DevTools Protocol. This is a port of the Puppeteer API
Stars: ✭ 92 (-96.69%)
Mutual labels:  puppeteer, headless-chrome
Page2image
📷 page2image is a npm package for taking screenshots which also provides CLI command
Stars: ✭ 66 (-97.63%)
Mutual labels:  puppeteer, headless-chrome
Puppeteer Functions
Puppeteer Firebase Functions demo
Stars: ✭ 75 (-97.3%)
Mutual labels:  puppeteer, headless-chrome
Spm Agent Nodejs
NodeJS Monitoring Agent
Stars: ✭ 51 (-98.17%)
Mutual labels:  monitoring, developer-tools
Deno Puppeteer
A port of puppeteer running on Deno
Stars: ✭ 128 (-95.4%)
Mutual labels:  puppeteer, headless-chrome
Awesome Puppeteer
A curated list of awesome puppeteer resources.
Stars: ✭ 1,728 (-37.86%)
Mutual labels:  puppeteer, headless-chrome
Monitaure
🔔 A server uptime monitoring progressive web application - NO LONGER MAINTAINED
Stars: ✭ 135 (-95.15%)
Mutual labels:  monitoring, jest
Express Typescript Boilerplate
A delightful way to building a RESTful API with NodeJs & TypeScript by @w3tecch
Stars: ✭ 2,293 (-17.55%)
Mutual labels:  monitoring, jest
Artemis Dev Tool
An Apollo GraphQL Query Schema Testing Tool
Stars: ✭ 66 (-97.63%)
Mutual labels:  developer-tools, jest
Nuxt Jest Puppeteer
🚀 Nuxt.js zero configuration tests, run with Jest and Puppetter
Stars: ✭ 57 (-97.95%)
Mutual labels:  jest, puppeteer
Mostly
They mostly come at night; mostly.
Stars: ✭ 78 (-97.2%)
Mutual labels:  jest, puppeteer
Marvelheroes
Marvel Heroes
Stars: ✭ 54 (-98.06%)
Mutual labels:  jest, puppeteer
Squidwarc
Squidwarc is a high fidelity, user scriptable, archival crawler that uses Chrome or Chromium with or without a head
Stars: ✭ 125 (-95.51%)
Mutual labels:  puppeteer, headless-chrome
Puppeteer Cluster
Puppeteer Pool, run a cluster of instances in parallel
Stars: ✭ 2,175 (-21.79%)
Mutual labels:  puppeteer, headless-chrome
Reactopt
A CLI React performance optimization tool that identifies potential unnecessary re-rendering
Stars: ✭ 1,975 (-28.98%)
Mutual labels:  developer-tools, puppeteer
Puppeteer Deep
Puppeteer, Headless Chrome;爬取《es6标准入门》、自动推文到掘金、站点性能分析;高级爬虫、自动化UI测试、性能分析;
Stars: ✭ 1,033 (-62.86%)
Mutual labels:  puppeteer, headless-chrome
Tenderly Cli
CLI tool for Smart Contract error tracking, monitoring and alerting.
Stars: ✭ 138 (-95.04%)
Mutual labels:  monitoring, developer-tools

Puppeteer examples

Deprecation notice: We are moving our efforts to theheadless.dev, a new free & open source knowledge base for Puppeteer AND Playwright. Idea is the same: practical examples and guides, by the community. We — the team at Checkly — are going to pour a lot of love & care into this new project. Feel free to contribute!

Puppeteer Headless Chrome examples for real life use cases. Clone this repo and run them directy with a simple node command.

git clone https://github.com/checkly/puppeteer-examples
cd puppeteer-examples
npm i
node 2.\ search/amazon.js

You can run these scripts in the puppeteer sandbox.

1. basics

The very basic on getting useful info from web page. Highlights the basic Puppeteer functions.

alerts

Create an alert dialog and close it again.

1. basics/alerts.js

Download file / upload file

Find an image by class selector, downloads the image, saves it to disk and read it again. Use this together with a .fileUpload() method.

1. basics/download_upload.js

emulate devices

Use the built in devices descriptors to emulate an Iphone 6. These are actually shortcuts for calling page.setUserAgent() and page.setViewPort().

1. basics/emulate_devices.js

get the value of common form elements

Gets the value of commonly used HTML form elements using page.$eval()

1. basics/forms.js

get list of links

Scrapes Hacker News for links on the home page and returns the top 10

1. basics/get_list_of_links.js

get text value of an element

Gets the text value of an element by using the page.$eval method

1. basics/get_text_value.js

get title

Get the title of a page and print it to the console.

1. basics/get_title.js

hover

The hover function is a combination of scrolling and putting the mouse into a hover state over the requested element. This example hovers the first track we find on the soundcloud.com homepage, which should trigger the play and like buttons to be visible

1. basics/hover.js

keyboard

types into a text editor

1. basics/keyboard.js

location_faker

Fake the location for the geolocation API used by the browsers

1. basics/location_faker.js

mouse

Most of the things you can click using straight .click() handlers, but for some situation directly instructing the mouse might be convenient. This example load a page that plays back what mouse actions are used on the page.

1. basics/mouse.js

pdf

Renders a PDF of the Puppeteer API spec. This is a pretty long page and will generate a nice, A4 size multi-page PDF.

1. basics/pdf.js

request interception

Uses Puppeteer request interception, blocks images from loading, then snaps a basic screenshot of the full New York Time homepage and saves it a .png file.

1. basics/request_interception.js

screenshots

Snaps a basic screenshot of the full New York Time homepage and saves it a .png file.

1. basics/screenshots.js

screenshots clipped

Grabs and clips out just the stock tickers on the Yahoo finance page

1. basics/screenshots_clipped.js

set cookie

Sets the "login_email" property in a Paypal cookie so the login screen is pre-filled with an email address.

1. basics/set_cookie.js

2. search

Common search input and select methods on search results.

Amazon search

Looks for a "nyan cat pullover" on amazon.com, goes two page two clicks the third one.

2. search/amazon.js

Booking.com search

Finds accommodations in Berlin on Booking.com, takes a screenshot and logs the top 10.

2. search/booking.js

Duck Duck Go search

undefined

2. search/duck_duck_go.js

Youtube search

Looks for Fleetwood Mac's "Dreams" video on youtube.com and clicks on the third video. Waits for 5 seconds for the video to load.

2. search/youtube.js

3. login

Common login scenarios on popular website. Credentials mostly supplied with setting ENV variables.

Github

Logs into Github. Provide your username and password as environment variables when running the script, i.e: GITHUB_USER=myuser GITHUB_PWD=mypassword node github.js

3. login/github.js

Google Social Login

Logs into Checkly using Google social Login. Provide your username and password as environment variables when running the script, i.e: GOOGLE_USER=myuser GOOGLE_PWD=mypassword node google_social.js

3. login/google_social.js

Instagram

Logs into Instagram with credentials. Provide your username and password as environment variables when running the script, i.e: INSTAGRAM_USER=myuser INSTAGRAM_PWD=mypassword node instagram.js

3. login/instagram.js

Microsoft Live Login

Logs into MS Live. Provide your username and password as environment variables when running the script, i.e: linux: MSLIVE_USER=myuser MSLIVE_PWD=mypassword node mslive.js Windows users: SET MSLIVE_USER=myuser SET MSLIVE_PWD=mypassword node mslive.js for more info see here: https://stackoverflow.com/questions/9249830/how-can-i-set-node-env-production-on-windows

3. login/mslive.js

4. shopping-carts

How to handle shopping cart functions like adding and removing items.

Staples shopping cart

Goes to the face paint category and adds to the shopping cart.

4. shopping-carts/staples.js

Walmart shopping cart

Looks for a Nintendo's Mario Odyssey and adds it to the shopping cart.

4. shopping-carts/walmart.js

5. parallel-pages

How to handle Allow parallel processing pages.

Screenshots parallel pages

Allow parallel processing screenshot

5. parallel-pages/screenshots_parallel.js

Screenshots parallel pages in batches

parallel screenshotting of an array of Websites with small example

5. parallel-pages/screenshots_parallel_cologne_colleges.js

A. mocha-tests

Mocha test runner scripts that use Puppeteer and the standard assert library to check specific properties and actions on a page. They can be executed like:

cd "a. mocha-tests"
npx mocha alibaba.js

Alibaba product search

Searches Alibaba.com for a product and checks if the results show up

a. mocha-tests/alibaba.js

Amazon product search

Searches Amazon.com for a product and checks if the results show up

a. mocha-tests/amazon.js

codesandbox.io

Goes to codesandbox.io, creates a new sandbox and selects the Vue.js template

a. mocha-tests/codesandbox.js

Duck Duck Go search

Goes to duckduckgo.com, searches for "chrome puppeteer", asserts the result and snaps a screenshots

a. mocha-tests/duck_duck_go.js

Etsy shopping cart

Goes to etsy.com, select the first knick knack and adds it to the shopping cart.

a. mocha-tests/etsy.js

Gmail signup

Checks the signup flow from the landing page. Clicks the

a. mocha-tests/gmail.js

Google search

Searches Google.com for a term and checks if the first link matches. This check should fail.

a. mocha-tests/google.js

Staples shopping cart

Goes to staples.com and adds a some facepaint to an empty shopping cart. Validates the correct amount.

a. mocha-tests/staples.js

Walmart shopping cart

Goes to walmart.com and adds a Nintendo game to an empty shopping cart. Validates the correct amount.

a. mocha-tests/walmart.js

B. jest-tests

Jest test runner scripts that use Puppeteer to check specific properties and actions on a page. Very similar to the Mocha tests, but using the Jest expect assertions. Install Jest as a global dependency and run them as any other script

npm i -g jest
jest jest-tests/alibaba.js

Alibaba product search

Searches Alibaba.com for a product and checks if the results show up

b. jest-tests/alibaba.spec.js

Amazon product search

Searches Amazon.com for a product and checks if the results show up

b. jest-tests/amazon.spec.js

codesandbox.io

Goes to codesandbox.io, creates a new sandbox and selects the Vue.js template

b. jest-tests/codesandbox.spec.js

Etsy shopping cart

Goes to etsy.com, select the first knick knack and adds it to the shopping cart.

b. jest-tests/etsy.spec.js

Google search

Searches Google.com for a term and checks if the first link matches. This check should fail.

b. jest-tests/google.spec.js

Walmart shopping cart

Goes to walmart.com and adds a Nintendo game to an empty shopping cart. Validates the correct amount.

b. jest-tests/walmart.spec.js

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].