All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed mypy linting errors (attempt 2) @stephanlensky
- Handle browser process shutdown on 'Failed to connect to browser' @desoul99
- Added configurable browser connection timeout and tries @desoul99
- Fix
AttributeError: 'tuple' object has no attribute 'value'
error inconnection.py
when using headless browser, @slimshreydy
- Add automated testing framework! @stephanlensky
- For now, just a few tests are written, including one to test browserscan.com bot detection
- In the future, we can expand this test suite further (see Zendriver#18)
- Add return type annotation to
Tab.get_content()
@stephanlensky
- Upgraded
websockets
to latest version (>=14.0
) @yoori @stephanlensky
- Updated CDP models @stephanlensky
- Reverted non-functional fixes for mypy linting errors (oops) @stephanlensky
- Fixed a large number of mypy linting errors (should not result in any functional change) @stephanlensky
- Added
zendriver.__version__
attribute to get current package version at runtime @stephanlensky
- Added support for
DOM.scrollableFlagUpdated
experimental CDP event. @michaellee94
- Pinned requirement
websockets<14
, fixing theAttributeError: 'NoneType' object has no attribute 'closed'
crash which occurs on the latest version ofwebsockets
. @stephanlensky - Fixed incorrect
browser.close()
method in examples and documentation -- the correct method isbrowser.stop()
. @stephanlensky - Fixed
atexit
handler to correctly handle asyncbrowser.stop()
method. @stephanlensky
- Support for Python 3.10 and Python 3.11. All versions >=3.10 are now supported. @stephanlensky
Initial version, forked from ultrafunkamsterdam/nodriver@1bb6003
with a variety of improvements.
Browser.set_all
cookies function now correctly uses provided cookies @ilkecan- "successfully removed temp profile" message printed on exit is now only shown only when a profile was actually removed. Message is now logged at debug level instead of printed. @mreiden @stephanlensky
- Fix crash on starting browser in headless mode @ilkecan
- Fix
Browser.stop()
method to give the browser instance time to shut down before force killing @stephanlensky - Many
ruff
lint issues @stephanlensky
- Support for linting with
ruff
andmypy
. Allruff
lints are fixed in the initial release, but manymypy
issues remain to be fixed at a later date. @stephanlensky py.typed
marker so importing as a library in other packages no longer causesmypy
errors. @stephanlensky
- Project is now built with
uv
. Automatically install dependencies to a venv withuv sync
, run commands from the venv withuv run
, and build the project withuv build
. See the officialuv
docs for more information. @stephanlensky - Docs migrated from sphinx to mkdocs-material. @stephanlensky
Browser.stop()
is now async (so it must beawait
ed) @stephanlensky
- Twitter account creation example @stephanlensky