pyppeteer VS puppeteer-sample

Compare pyppeteer vs puppeteer-sample and see what are their differences.

pyppeteer

Headless chrome/chromium automation library (unofficial port of puppeteer) (by pyppeteer)

puppeteer-sample

Running test automation using Puppeteer and LambdaTest. Run Puppeteer tests in massive parallel in cloud at LambdaTest. (by LambdaTest)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
pyppeteer puppeteer-sample
17 1
3,433 3
3.0% -
5.4 4.3
23 days ago 4 months ago
Python JavaScript
GNU General Public License v3.0 or later -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

pyppeteer

Posts with mentions or reviews of pyppeteer. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-05.

puppeteer-sample

Posts with mentions or reviews of puppeteer-sample. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-02-05.
  • Pyppeteer Tutorial: The Ultimate Guide to Using Puppeteer with Python
    5 projects | dev.to | 5 Feb 2024
    import asyncio import pytest from pyppeteer.errors import PageError from urllib.parse import quote import json import os import sys from os import environ from pyppeteer import connect, launch exec_platform = os.getenv('EXEC_PLATFORM') # Can take values - headless and non-headless chromium_version = os.getenv('CHROMIUM_VERSION') # Pytest fixture for browser setup @pytest.fixture(scope='function') async def browser(): if exec_platform == 'local': if chromium_version == '121': custom_chrome_path = "mac-chrome/Chromium_121.app/Contents/MacOS/Chromium" elif chromium_version == '113': custom_chrome_path = "mac-chrome/Chromium_113.app/Contents/MacOS/Chromium" else: custom_chrome_path = "mac-chrome/Chromium.app/Contents/MacOS/Chromium" browser = await launch(headless = False, executablePath = custom_chrome_path, args=['--start-maximized']) yield browser await asyncio.sleep(1) await browser.close() # Pytest fixture for page setup @pytest.fixture(scope='function') async def page(browser): page = await browser.newPage() yield page await page.close() # Ported code from https://github.com/LambdaTest/puppeteer-sample/blob/main/puppeteer-parallel.js @pytest.mark.asyncio async def test_exe_path(page): await page.goto('https://www.duckduckgo.com') await page.setViewport({'width': 1920, 'height': 1080}) element = await page.querySelector('[name="q"]') await element.click() await element.type('LambdaTest') await asyncio.gather( page.keyboard.press('Enter'), page.waitForNavigation() ) page_title = await page.title() try: assert page_title == 'LambdaTest at DuckDuckGo', 'Expected page title is incorrect!' await page.evaluate('_ => {}', f'lambdatest_action: {json.dumps({ "action": "setTestStatus", "arguments": { "status": "passed", "remark": "Title matched" } })}') except PageError as e: await page.evaluate('_ => {}', f'lambdatest_action: {json.dumps({ "action": "setTestStatus", "arguments": { "status": "failed", "remark": str(e) } })}')

What are some alternatives?

When comparing pyppeteer and puppeteer-sample you can also consider the following projects:

puppeteer - Node.js API for Chrome

Scrapy - Scrapy, a fast high-level web crawling & scraping framework for Python.

Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.

playwright-python - Python version of the Playwright testing and automation library.

selenium-python-helium - Lighter web automation for Python [Moved to: https://github.com/mherrmann/helium]

requests - A simple, yet elegant, HTTP library.

selectolax - Python binding to Modest and Lexbor engines (fast HTML5 parser with CSS selectors).

scraper - A scraper for EmulationStation written in Go using hashing

requests-html - Pythonic HTML Parsing for Humans™

scraper - Nodejs web scraper. Contains a command line, docker container, terraform module and ansible roles for distributed cloud scraping. Supported databases: SQLite, MySQL, PostgreSQL. Supported headless clients: Puppeteer, Playwright, Cheerio, JSdom.

utls - Fork of the Go standard TLS library, providing low-level access to the ClientHello for mimicry purposes.

colly - Elegant Scraper and Crawler Framework for Golang