NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #5039 most downloaded on PyPI
Headless chrome/chromium automation library (unofficial port of puppeteer)
Last release 3 years ago
no release in 18 months
Ships unpredictably
gaps range from 8 days to 2.1 years
Most releases are documented
notes for 23 of 30 stable releases
Nothing withdrawn
no release was ever pulled
9 years old
35 releases · first in 2017
Fix deprecated asyncio wait in page.py
version is still present and can be parsed if necessaryNothing published for this version
Nothing published for this version
One column per quarter.
Nothing published for this version
fix: circular import #344
fix: circular import #344
delete unused makefile for now
delete unused makefile for now
remove 3.6 from black config
remove 3.6 from black config
Page.craeteChange build backend to poetry-core (allows for faster PEP517 package building) #262 @fabaff
Match package version and \_\_version__ (🤦♂️)
importlib_metadata so this isn't a problem in the futureMerge remote-tracking branch 'origin/dev' into dev
Merge remote-tracking branch 'origin/dev' into dev
pyee dependency breaking build failures on NixOS + Fedora packaging systems (#207)Hotfix: random freezes from sending stdout to PIPE instead of DEVNULL
tests package being installed for no reasonNothing published for this version
Nothing published for this version
Nothing published for this version
Fix miss-spelled methods and functions
Browser.isIncognite to Browser.isIncognitoBrowser.createIncogniteBrowserContext to Browser.createIncognitoBrowserContextchromium_excutable to chromium_executablecraete function in page.pyAdd ElementHandle.isIntersectingViewport()
Catch up puppeteer v1.6.0
ElementHandle.isIntersectingViewport()reportAnonymousScript option to Coverage.startJSCoverage()Page.waitForRequest and Page.waitForResponse methodsTarget.page()Page.click() and ElementHandle.click()Change CDPSession.send to a normal function which returns awaitable value
Catch up puppeteer v1.5.0
BrowserContext classWorker classCDPSession.send to a normal function which returns awaitable valuePage.isClosed methodElementHandle.querySelectorAllEval and ElementHandle.JJevalTarget.openerRequest.isNavigationRequestAdd autoClose option to launch function
Catch up puppeteer v1.3.0
pyppeteer-install commandautoClose option to launch functionloop option to launch function (experimental)Page.setBypassCSP methodPage.tracing.stop returns result datadocumentloaded to domcontentloaded on waitUntil optionslowMo optionRaise error correctly when connection failed (PR#91)
Run on msys/cygwin, anyway
Raise error correctly when connection failed (PR#91)
Change browser download location and temporary user data directory to:
$PYPPETEER_HOME environment variable is defined, use this location'C:\Users\<username>\AppData\Local\pyppeteer' (Windows)'/Users/<username>/Library/Application Support/pyppeteer' (OS X)'/home/<username>/.local/share/pyppeteer' (Linux)
'$XDG_DATA_HOME/pyppeteer' if $XDG_DATA_HOME is definedIntroduce $PYPPETEER_CHROMIUM_REVISION
Introduce $PYPPETEER_HOME
Add logLevel option to launch and connect functions
Add page close event
Add ElementHandle.boxModel method
Add an option to disable timeout for waitFor functions
Add ElementHandle.contentFrame method
Catch up puppeteer v1.2.0
ElementHandle.contentFrame methodRequest.redirectChain methodPage.addScriptTag accepts a new option typeAdd Page.waitForXPath and Frame.waitForXPath
Catch up puppeteer v1.1.1
Page.waitForXPath and Frame.waitForXPathPage.waitFor accepts xpath string which starts with //Response.fromCache and Response.fromServiceWorkerSecurityDetails class and response.securityDetailsPage.setCacheEnabled methodExecutionContext.framedumpio option to launch functionslowMo option to connect functionlauncher.connect can be access from package top
from pyppeteer import connect is now validFrame.evaluateHandlePage.Events.DOMContentLoadedGracefully terminate browser process
Mark as alpha
Gracefully terminate browser process
Request.method and Request.postData return None if no data
Change Target.url and Target.type to properties
Change Dialog.message and Dialog.defaultValue to properties
Fix: properly emit Browser.targetChanged events
Fix: properly emit Browser.targetDestroyed events
BugFix: Skip SIGHUP option on windows (windows does not support this signal)
Support raf and mutation polling for waitFor* methods
Catch up puppeteer v1.0.0
raf and mutation polling for waitFor* methodsPage.coverage to support JS and CSS coveragePage.xpath, Frame.xpath, and ElementHandle.xpathTarget.createCDPSession to work with raw Devtools ProtocolFrame.executionContext from property to coroutineignoreDefaultArgs option to pyppeteer.launchhandleSIGINT/handleSIGTERM/handleSIGHUP options to pyppeteer.launchPage.setDefaultNavigationTimeout methodPage.waitFor* methods accept JSHandle as argumentFrame.content and Frame.setContent methodspage.tracing.start accepts custom tracing categories optionBrowser.process propertyRequest.frame propertyRead WS endpoint from web interface instead of stdout
Read WS endpoint from web interface instead of stdout
Pass environment variables of python process to chrome by default
Do not limit size of websocket frames
BugFix:
Keyboard.typePage.Events.Metricspyppeteer.launch() is now coroutine
Catch up puppeteer v0.13.0
pyppeteer.launch() is now coroutine
Implement connect function
PYPPETEER_DOWNLOAD_HOST env variable specifies host part of URL to download chromium
Rename setRequestInterceptionEnable to setRequestInterception
Rename Page.getMetrics to Page.metrics
Implement Browser.pages to access all pages
Target class and some new method on BrowserAdd ElementHandle.querySelector and ElementHandle.querySelectorAll
Refactor NavigatorWatcher
documentloaded, networkidle0, and networkidle2 optionsRequest.abort accepts error code
addScriptTag and addStyleTag return ElementHandle
Add force_expr option to evaluate method
Page.select returns selected values
Add pyppeteer.version and pyppeteer.version_info
BugFix:
Page.framesPage.queryObjectsPage.exposeFunction* BugFix
Add ElementHandle.boundingBox and ElementHandle.screenshot
Catch up puppeteer v0.12.0
ElementHandle.evaluateElementHandle.attributePage.plainTextPage.injectFilePage.querySelectorAllEvalPage.select and Page.typeElementHandle.boundingBox and ElementHandle.screenshotElementHandle.focus, ElementHandle.type, and ElementHandle.pressgetMetrics methodofflineModeDeprecate ElementHandle.attribute
launch from package rootbrowser.close to coroutine functionMouse.move()Page.querySelectorEval (Page.$eval in puppeteer)ElementHandle.attributeTouchscreen class and implement Page.tap and ElementHandle.tapwaitFor* functionswaitFor* functionsNothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →