Release Notes
[0.5.1] - 2025-02-16
Changed
- Deprecated
zendriver.loop()
function. You should instead useasyncio
functions directly, for example:
[0.5.0] - 2025-02-16
Added
- Add
tab.expect_download
methods to wait for download file @3mora2
[0.4.3] - 2025-02-11
Added
- Add logs for Chrome process output on connection failure @stephanlensky
Changed
- Default and launch changed to use
about:blank
(faster start and less bandwidth) @raycardillo
[0.4.2] - 2025-02-11
Fixed
- Multiple Browsers can be created without one affecting the other @raycardillo
[0.4.1] - 2025-02-09
Fixed
- Ignore irrelevant
DOM.disable
errors @raycardillo - Test scripts improved for running on macOS @raycardillo
[0.4.0] - 2025-02-06
Added
- Add
tab.expect_request
andtab.expect_response
methods to wait for a specific request or response @3mora2 - Add
tab.wait_for_ready_state
method for to wait for page to load @3mora2 - Add
tab.remove_handlers
method for removing handlers @khamaileon - Clean up temporary profiles when
Browser.stop()
is called @barrycarey
[0.3.1] - 2025-01-28
Fixed
- Fixed bug in
find
/find_element_by_text
which causedProtocolException
when no results were found @stephanlensky
[0.3.0] - 2025-01-25
Fixed
- Added
Tab.set_user_agent()
function for programmatically configuring the user-agent, language, and platform @stephanlensky - Improved a few type annotations (
Connection.send()
function now returns correctly typed values based on the providedcdp_obj
) @stephanlensky
[0.2.3] - 2024-12-14
Fixed
- Fixed mypy linting errors (attempt 2) @stephanlensky
Added
- Handle browser process shutdown on 'Failed to connect to browser' @desoul99
- Added configurable browser connection timeout and tries @desoul99
[0.2.2] - 2024-11-23
Fixed
- Fix
AttributeError: 'tuple' object has no attribute 'value'
error inconnection.py
when using headless browser, @slimshreydy
[0.2.1] - 2024-11-23
Added
- 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
Changed
- Upgraded
websockets
to latest version (>=14.0
) @yoori @stephanlensky
[0.2.0] - 2024-11-17
Changed
- Updated CDP models @stephanlensky
[0.1.5] - 2024-11-17
Fixed
- Reverted non-functional fixes for mypy linting errors (oops) @stephanlensky
[0.1.4] - 2024-11-17
Fixed
- Fixed a large number of mypy linting errors (should not result in any functional change) @stephanlensky
Added
- Added
zendriver.__version__
attribute to get current package version at runtime @stephanlensky
[0.1.3] - 2024-11-12
Added
- Added support for
DOM.scrollableFlagUpdated
experimental CDP event. @michaellee94
[0.1.2] - 2024-11-11
Fixed
- 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
[0.1.1] - 2024-10-29
Added
- Support for Python 3.10 and Python 3.11. All versions >=3.10 are now supported. @stephanlensky
[0.1.0] - 2024-10-20
Initial version, forked from ultrafunkamsterdam/nodriver@1bb6003
with a variety of improvements.
Fixed
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
Added
- 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
Changed
- 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
Removed
- Twitter account creation example @stephanlensky