- [populate me]
- Change build backend to poetry-core (allows for faster PEP517 package building) #262 @fabaff
- Chromium download fixes (file not found) #245 @mborsetti
- Do not try to set an exception on finished futures #216 @polyfloyd
- Add HTTPException to caught exceptions in launch #293 @raymondguo-db
- Fix encoding error #226 @aleksei140888
- support websockets 9.0 #252 @mborsetti
- Fix tqdm exception when NO_PROGRESS_BAR is True #224 @mborsetti
- fix(browser): Clean up coroutine Browser._targetCreated() #271 @H--o-I
- Match package version and __version__ (🤦♂️)
- Use
importlib_metadata
so this isn't a problem in the future
- Update
pyee
dependency breaking build failures on NixOS + Fedora packaging systems (#207)
- Hotfix: random freezes from sending stdout to PIPE instead of DEVNULL
- Fix
tests
package being installed for no reason
- Add
$PYPPETEER_NO_PROGRESS_BAR
environment variable pyppeteer.defaultArgs
now accepts that help infer chromium command-line flags.pyppeteer.launch()
argumentignoreDefaultArgs
now accepts a list of flags to ignore.Page.type()
now supports typing emojiPage.pdf()
accepts a new argumentpreferCSSPageSize
- Add new option
defaultViewport
tolaunch()
andconnect()
- Add
BrowserContext.pages()
method
- Fix miss-spelled methods and functions
- Change
Browser.isIncognite
toBrowser.isIncognito
- Change
Browser.createIncogniteBrowserContext
toBrowser.createIncognitoBrowserContext
- Change
chromium_excutable
tochromium_executable
- Remove
craete
function inpage.py
- Change
Catch up puppeteer v1.6.0
- Add
ElementHandle.isIntersectingViewport()
- Add
reportAnonymousScript
option toCoverage.startJSCoverage()
- Add
Page.waitForRequest
andPage.waitForResponse
methods - Now possible to attach to extension background pages with
Target.page()
- Improved reliability of clicking with
Page.click()
andElementHandle.click()
Catch up puppeteer v1.5.0
- Add
BrowserContext
class - Add
Worker
class - Change
CDPSession.send
to a normal function which returns awaitable value - Add
Page.isClosed
method - Add
ElementHandle.querySelectorAllEval
andElementHandle.JJeval
- Add
Target.opener
- Add
Request.isNavigationRequest
Catch up puppeteer v1.4.0
- Add
pyppeteer.DEBUG
variable - Add
Page.browser
- Add
Target.browser
- Add
ElementHandle.querySelectorEval
andElementHandle.Jeval
- Add
runBeforeUnload
option toPage.close
method - Change
Page.querySelectorEval
to raiseElementHandleError
when element which matchesselector
is not found - Report 'Log' domain entries as 'console' events
- Fix
Page.goto
to return response when page pushes new state - (OS X) Suppress long log when extracting chromium
Catch up puppeteer v1.3.0
- Add
pyppeteer-install
command - Add
autoClose
option tolaunch
function - Add
loop
option tolaunch
function (experimental) - Add
Page.setBypassCSP
method Page.tracing.stop
returns result data- Rename
documentloaded
todomcontentloaded
onwaitUntil
option - Fix
slowMo
option - Fix anchor navigation
- Fix to return response via redirects
- Continue to find WS URL while process is alive
-
Run on msys/cygwin, anyway
-
Raise error correctly when connection failed (PR#91)
-
Change browser download location and temporary user data directory to:
- If
$PYPPETEER_HOME
environment variable is defined, use this location - Otherwise, use platform dependent locations, based on appdirs:
'C:\Users\<username>\AppData\Local\pyppeteer'
(Windows)'/Users/<username>/Library/Application Support/pyppeteer'
(OS X)'/home/<username>/.local/share/pyppeteer'
(Linux)- or in
'$XDG_DATA_HOME/pyppeteer'
if$XDG_DATA_HOME
is defined
- or in
- If
-
Introduce
$PYPPETEER_CHROMIUM_REVISION
-
Introduce
$PYPPETEER_HOME
-
Add
logLevel
option tolaunch
andconnect
functions -
Add page
close
event -
Add
ElementHandle.boxModel
method -
Add an option to disable timeout for
waitFor
functions
Catch up puppeteer v1.2.0
- Add
ElementHandle.contentFrame
method - Add
Request.redirectChain
method Page.addScriptTag
accepts a new optiontype
Catch up puppeteer v1.1.1
- Add
Page.waitForXPath
andFrame.waitForXPath
Page.waitFor
accepts xpath string which starts with//
- Add
Response.fromCache
andResponse.fromServiceWorker
- Add
SecurityDetails
class andresponse.securityDetails
- Add
Page.setCacheEnabled
method - Add
ExecutionContext.frame
- Add
dumpio
option tolaunch
function - Add
slowMo
option toconnect
function launcher.connect
can be access from package topfrom pyppeteer import connect
is now valid
- Add
Frame.evaluateHandle
- Add
Page.Events.DOMContentLoaded
-
Mark as alpha
-
Gracefully terminate browser process
-
Request.method
andRequest.postData
returnNone
if no data -
Change
Target.url
andTarget.type
to properties -
Change
Dialog.message
andDialog.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)
Catch up puppeteer v1.0.0
- Support
raf
andmutation
polling forwaitFor*
methods - Add
Page.coverage
to support JS and CSS coverage - Add XPath support with
Page.xpath
,Frame.xpath
, andElementHandle.xpath
- Add
Target.createCDPSession
to work with raw Devtools Protocol - Change
Frame.executionContext
from property to coroutine - Add
ignoreDefaultArgs
option topyppeteer.launch
- Add
handleSIGINT
/handleSIGTERM
/handleSIGHUP
options topyppeteer.launch
- Add
Page.setDefaultNavigationTimeout
method Page.waitFor*
methods acceptJSHandle
as argument- Implement
Frame.content
andFrame.setContent
methods page.tracing.start
accepts custom tracing categories option- Add
Browser.process
property - Add
Request.frame
property
-
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.type
Page.Events.Metrics
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
tosetRequestInterception
-
Rename
Page.getMetrics
toPage.metrics
-
Implement
Browser.pages
to access all pages- Add
Target
class and some new method on Browser
- Add
-
Add
ElementHandle.querySelector
andElementHandle.querySelectorAll
-
Refactor NavigatorWatcher
- add
documentloaded
,networkidle0
, andnetworkidle2
options
- add
-
Request.abort
accepts error code -
addScriptTag
andaddStyleTag
returnElementHandle
-
Add
force_expr
option toevaluate
method -
Page.select
returns selected values -
Add
pyppeteer.version
andpyppeteer.version_info
-
BugFix:
- Do not change original options dictionary
Page.frames
Page.queryObjects
Page.exposeFunction
- Request interception
- Console API
- websocket error on closing browser (#24)
- BugFix (#33)
Catch up puppeteer v0.12.0
- Remove
ElementHandle.evaluate
- Remove
ElementHandle.attribute
- Deprecate
Page.plainText
- Deprecate
Page.injectFile
- Add
Page.querySelectorAllEval
- Add
Page.select
andPage.type
- Add
ElementHandle.boundingBox
andElementHandle.screenshot
- Add
ElementHandle.focus
,ElementHandle.type
, andElementHandle.press
- Add
getMetrics
method - Add
offlineMode
- Enable to import
launch
from package root - Change
browser.close
to coroutine function - Catch up puppeteer v0.11.0
- Delete temporary user data directory when browser closed
- Fix bug to fail extracting zip on mac
- Change chromium revision
- Support steps option of
Mouse.move()
- Experimentally supports python 3.5 by py-backwards
- Catch up puppeteer v0.10.2
- Add
Page.querySelectorEval
(Page.$eval
in puppeteer) - Deprecate
ElementHandle.attribute
- Add
Touchscreen
class and implementPage.tap
andElementHandle.tap
- Add
- Accept keyword arguments for options
- Faster polling on
waitFor*
functions - Fix bugs
- Implement pdf printing
- Implement
waitFor*
functions
- Register PyPI