Pyppetter

Python implementation of puppeteer

Async innately so can have multiple browsers running!

Basic

import asyncio
from pyppeteer import launch

async def main():
    browser = await launch(headless=False)
    page = await browser.newPage()
    await page.goto('http://example.com')
    await page.screenshot({'path': 'example.png'})
    await browser.close()

asyncio.ensure_future(main())

Page Functions To Know

  • .goto('example.com')

  • .screenshot({path: 'filename.png'})

  • .type('#searchbox input', 'Headless Chrome', {delay: 100});

  • .waitForSelector([someSelector])

  • .click([someSelector])

Use DOM Manipulation

Differences From Puppeteer

Page.querySelector()/Page.querySelectorAll()/Page.xpath() instead ofPage.$()/Page.$$()/Page.$x(). Pyppeteer also has shorthands for these methods, Page.J(), Page.JJ(), and Page.Jx().

Other Example

Last updated