alekzonder / Docker Puppeteer
Licence: mit
docker image with Google Puppeteer installed
Stars: ✭ 415
Programming Languages
javascript
184084 projects - #8 most used programming language
Projects that are alternatives of or similar to Docker Puppeteer
Dhalang
Generate PDFs and make screenshots of HTML using Puppeteer in Ruby
Stars: ✭ 41 (-90.12%)
Mutual labels: screenshot, puppeteer
jest-puppe-shots
A Jest plugin for creating screenshots of React components with a little help of Puppeteer
Stars: ✭ 86 (-79.28%)
Mutual labels: screenshot, puppeteer
puppet-master
Puppeteer as a service hosted on Saasify.
Stars: ✭ 25 (-93.98%)
Mutual labels: screenshot, puppeteer
Puppeteer Dart
A Dart library to automate the Chrome browser over the DevTools Protocol. This is a port of the Puppeteer API
Stars: ✭ 92 (-77.83%)
Mutual labels: screenshot, puppeteer
vrt-react
Take a screenshot 📸 of React component. Push it and compare images in pull request.
Stars: ✭ 19 (-95.42%)
Mutual labels: screenshot, puppeteer
Lancia
网页转PDF渲染服务。提供收据、发票、报告或任何网页内容转PDF的微服务
Stars: ✭ 108 (-73.98%)
Mutual labels: screenshot, puppeteer
browser-automation-api
Browser automation API for repetitive web-based tasks, with a friendly user interface. You can use it to scrape content or do many other things like capture a screenshot, generate pdf, extract content or execute custom Puppeteer, Playwright functions.
Stars: ✭ 24 (-94.22%)
Mutual labels: screenshot, puppeteer
Jsdom Screenshot
📸 Take screenshots of jsdom with puppeteer
Stars: ✭ 39 (-90.6%)
Mutual labels: screenshot, puppeteer
pappet
A command-line tool to crawl websites using puppeteer.
Stars: ✭ 95 (-77.11%)
Mutual labels: screenshot, puppeteer
screenie-server
A Node server with a pool of Puppeteer (Chrome headless) instances for scalable screenshot generation.
Stars: ✭ 19 (-95.42%)
Mutual labels: screenshot, puppeteer
Page2image
📷 page2image is a npm package for taking screenshots which also provides CLI command
Stars: ✭ 66 (-84.1%)
Mutual labels: screenshot, puppeteer
Webshot Factory
Web Screenshots at scale based on headless chrome
Stars: ✭ 288 (-30.6%)
Mutual labels: screenshot, puppeteer
Dark Mode Screenshot
This Puppeteer script takes a 📷 screenshot of a webpage in 🌞 Light and 🌒 Dark Mode.
Stars: ✭ 47 (-88.67%)
Mutual labels: screenshot, puppeteer
Site Scan
CLI for capturing website screenshots, powered by puppeteer.
Stars: ✭ 137 (-66.99%)
Mutual labels: screenshot, puppeteer
Chart To Aws
Microservice to generate screenshot from a webpage and upload it to a AWS S3 Bucket.
Stars: ✭ 43 (-89.64%)
Mutual labels: screenshot, puppeteer
mugshot
Framework independent visual testing library
Stars: ✭ 126 (-69.64%)
Mutual labels: screenshot, puppeteer
Storycap
A Storybook Addon, Save the screenshot image of your stories 📷 via puppeteer.
Stars: ✭ 451 (+8.67%)
Mutual labels: screenshot, puppeteer
Chromda
λ 🖼️ Chromda is an AWS Lambda function for capturing screenshots of websites.
Stars: ✭ 481 (+15.9%)
Mutual labels: screenshot, puppeteer
screenshot
A screenshot API to convert web to image or PDF. Supports desktop and mobile views.
Stars: ✭ 108 (-73.98%)
Mutual labels: screenshot, puppeteer
puppeteer-screenshot-tester
Small library that allows us to compare screenshots generated by puppeteer in our tests.
Stars: ✭ 50 (-87.95%)
Mutual labels: screenshot, puppeteer
puppeteer docker image
docker image with Google Puppeteer installed
docker tags
latest
1
1.1.1
1.1.0
1.0.0
0
0.13.0
0.12.0
0.11.0
0.10.2
0.10.1
0.10.0
0.9.0
install
docker pull alekzonder/puppeteer:latest
# OR
docker pull alekzonder/puppeteer:1.0.0
# OR
docker pull alekzonder/puppeteer:1
before usage
- you should pass
--no-sandbox, --disable-setuid-sandbox
args when launch browser
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch({
args: [
'--no-sandbox',
'--disable-setuid-sandbox'
]
});
const page = await browser.newPage();
await page.goto('https://www.google.com/', {waitUntil: 'networkidle2'});
browser.close();
})();
- if you got page crash with
BUS_ADRERR
(chromium issue), increase shm-size on docker run with--shm-size
argument
docker run --shm-size 1G --rm -v <path_to_script>:/app/index.js alekzonder/puppeteer:latest
- If you're seeing random navigation errors (unreachable url) it's likely due to ipv6 being enabled in docker. Navigation errors are caused by ERR_NETWORK_CHANGED (-21) in chromium. Disable ipv6 in your container using
--sysctl net.ipv6.conf.all.disable_ipv6=1
to fix:
docker run --shm-size 1G --sysctl net.ipv6.conf.all.disable_ipv6=1 --rm -v <path_to_script>:/app/index.js alekzonder/puppeteer:latest
- add
--enable-logging
for chrome debug logging http://www.chromium.org/for-testers/enable-logging
const puppeteer = require('puppeteer');
(async() => {
const browser = await puppeteer.launch({args: [
'--no-sandbox',
'--disable-setuid-sandbox',
// debug logging
'--enable-logging', '--v=1'
]});
usage
mount your script to /app/index.js
docker run --shm-size 1G --rm -v <path_to_script>:/app/index.js alekzonder/puppeteer:latest
custom script from dir
docker run --shm-size 1G --rm \
-v <path_to_dir>:/app \
alekzonder/puppeteer:latest \
node my_script.js
screenshots tools
simple screenshot tools in image
docker run --shm-size 1G --rm -v /tmp/screenshots:/screenshots \
alekzonder/puppeteer:latest \
<screenshot,full_screenshot,screenshot_series,full_screenshot_series> 'https://www.google.com' 1366x768
screenshot tools syntax
<tool> <url> <width>x<height> [<delay_in_ms>]
-
delay_in_ms
: is optional (defaults to0
)- Waits for
delay_in_ms
milliseconds before taking the screenshot
- Waits for
screenshot
docker run --shm-size 1G --rm -v /tmp/screenshots:/screenshots \
alekzonder/puppeteer:latest \
screenshot 'https://www.google.com' 1366x768
output: one line json
{
"date":"2017-09-01T05:03:27.464Z",
"timestamp":1504242207,
"filename":"screenshot_1366_768.png",
"width":1366,
"height":768
}
got screenshot in /tmp/screenshots/screenshot_1366_768.png
full_screenshot
save full screenshot of page
docker run --shm-size 1G --rm -v /tmp/screenshots:/screenshots \
alekzonder/puppeteer:latest \
full_screenshot 'https://www.google.com' 1366x768
screenshot_series
, full_screenshot_series
adds datetime in ISO format into filename
useful for cron screenshots
docker run --shm-size 1G --rm -v /tmp/screenshots:/screenshots \
alekzonder/puppeteer:latest \
screenshot_series 'https://www.google.com' 1366x768
docker run --shm-size 1G --rm -v /tmp/screenshots:/screenshots \
alekzonder/puppeteer:latest \
full_screenshot_series 'https://www.google.com' 1366x768
2017-09-01T05:08:55.027Z_screenshot_1366_768.png
# OR
2017-09-01T05:08:55.027Z_full_screenshot_1366_768.png
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].