Python

selenium-wire

Latest version: v5.1.0

PyUp actively tracks 471,271 Python packages for vulnerabilities to keep your Python environments secure.

Scan your dependencies

5.1.0

------------------

* Drop support for Selenium<4.0.0.
* Drop support for SSLv2 and SSLv3.
* Fix bug where setting non-string header values would cause an interceptor to fail.

5.0.0

------------------

* Add support for Microsoft Edge to webdriver
* Drop support for Python 3.6
* Fix compatibility issue with PyOpenSSL

4.6.5

------------------

* Fix compatibility issue with DesiredCapabilities and older versions of the Chrome webdriver API.
* Fix bug where verify_ssl would assume the inverse of the boolean passed (it was the wrong way round).
* Minor update to support Python 3.10.
* Minor README updates.

4.6.4

------------------

* Fix bug where setting an interceptor would break websocket requests.

4.6.3

------------------

* Fix bug with dynamic switching of upstream proxy.

4.6.2

------------------

* Fix import error with missing TouchActions in Selenium>4.1.0

4.6.1

------------------

* Fix compatibility issue with undetected_chromedriver.
* Handle occasional unpickle error when loading captured requests from disk.

4.6.0

------------------

* Configurable root certificate and private key.
* Fix bug where it was not possible to clear a proxy once set.

4.5.6

------------------

* Fix bug where using the chrome_options argument would prevent request capture.
* Fix issue where Proxy-Connection header was being propagated.

4.5.5

------------------

* Fix issue where missing 'packaging' module prevents Selenium Wire from starting.
* Fix deprecation warnings with desired capabilities.

4.5.4

------------------

* Fix bug preventing request capture when using Firefox and Selenium >= 4.0.0

4.5.3

------------------

* Fix bug where setting a socket timeout would break the SSL handshake.
* Support for brotli and zstd content encoding.
* Suppress HTTP protocol warning.

4.5.2

------------------

* Fix bug where automatic decoding of response body would break page loading when using response interceptors.
* Fix bug where exclude_hosts had no effect when using undetected_chromedriver.v2.
* Fix occasional unpickle error when stored requests are asked for before they have been fully flushed to disk.

4.5.1

------------------

* Fix attribute error preventing undetected chromedriver from starting.

4.5.0

------------------

* Allow upstream proxy to be changed on the fly.

4.4.1

------------------

* Fix async bug that breaks Django ORM.

4.4.0

------------------

* Introduce in-memory request storage.
* Default request storage now uses system temp folder by default.
* Remove mitmproxy backend. Selenium Wire uses mitmproxy by default so a separate mitmproxy backend is redundant.

4.3.3

------------------

* Fix proxy authorization failures when Selenium Wire is run in multiple threads.

4.3.2

------------------

* Fix bug where the upstream no_proxy setting would be ignored for http hosts.
* Prevent Firefox from bypassing Selenium Wire for localhost addresses.
* Fix bug where DNS wasn't being resolved through the proxy for socks5h.

4.3.1

------------------

* Don't fold separate Set-Cookie response headers into a single header.
* Add additional SSL certificate properties to request.cert

4.3.0

------------------

* Allow selection of undetected_chromedriver version.
* Add new attribute request.host

4.2.5

------------------

* Switch to upstream_cert=True by default, enabling HTTP/2.

4.2.4

------------------

* Fix bug where disable_capture would break upstream proxy authentication.

4.2.3

------------------

* Fix bug where it was not possible to specify socks4 in proxy configuration.

4.2.2

------------------

* Fix concurrency issue in RequestStorage that allowed partially stored requests to be retrieved.

4.2.1

------------------

* Make SSL certificate metadata available via request.cert
* Suppress connection aborted error by default.
* Log error on proxy authentication failure.

4.2.0

------------------

* Add support for HAR format.
* Add disable_capture option.
* Add driver.iter_requests().
* Fix bug where no_proxy was being ignored in proxy configuration.

4.1.1

------------------

* Integration with undetected-chromedriver.

4.1.0

------------------

* Implement websocket message capture.
* Fix bug where closure of event loop externally would trigger exception on shutdown.
* Fix bug preventing use of an empty password for an upstream proxy.

4.0.5

------------------

* Downgrade "The client may not trust Selenium Wire's certificate" to debug.
* Introduce auto_config option.

4.0.4

------------------

* Fix bug where Selenium Wire would attempt to close running event loop.

4.0.3

------------------

* Fix bug where IPv6 addresses were not being enclosed in square brackets, breaking the local proxy URL.

4.0.2

------------------

* Fix additional problems caused by IPv6 socket binding.

4.0.1

------------------

* Fix bug where binding to IPv6 socket would prevent Selenium Wire from starting.

4.0.0

------------------

* Rework the default backend to:
* improve performance when connecting to upstream proxies
* remove the need for starting an openssl subprocess for certificate generation
* fix issue where duplicate headers could not be proxied to the upstream server
* fix issue where the response status code was being overridden by the CONNECT status
* lay the groundwork for supporting websocket message capture
* lay the groundwork for supporting SSL pass-through

3.0.6

------------------

* Fix bug preventing mitmproxy backend from using custom confdir.

3.0.5

------------------

* Suppress upstream connection errors based on configuration.

3.0.4

------------------

* Revert change to capture OPTIONS requests by default.

3.0.3

------------------

* Decode response body on load.

3.0.2

------------------

* Fix issue where remote web driver client was being imported from incorrect package.

3.0.1

------------------

* Create a new event loop if current event loop is closed.

3.0.0

------------------

* Inroduce request and response interceptors.
* Run mitmproxy backend in a thread rather than subprocess.
* Drop internal HTTP admin API.
* Drop support for Python 3.4 and 3.5.
* Add support for remote webdriver client.
* Add support for duplicate request and response headers.
* Fixed issue where Proxy-Connection header was being propagated.
* Fixed issue where desired capabilities could not be reused outside of Selenium Wire due to addition of proxy config.
* Deprecation of header_overrides, param_overrides, querystring_overrides, rewrite_urls, custom_response_handler

2.1.2

------------------

* Prevent Chrome from bypassing Selenium Wire for localhost addresses.

2.1.1

------------------

* Automatic port number selection for mitmproxy backend.

2.1.0

------------------

* Support regular expressions in driver.wait_for_request().

2.0.0

------------------

* Introduce the mitmproxy backend
* Support for modifying response headers
* Support for modifying request parameters and the query string
* Breaking API changes:
* the request.path attribute now returns the path rather than the full URL. To retrieve the URL, use request.url.
* empty request and response bodies are now returned as empty bytes `b''` rather than `None`.

1.2.3

------------------

* Disable connection persistence by default due to side effects in certain cases.

1.2.2

------------------

* Close connection on error rather than send 502 response to permit browser retry.

1.2.1

------------------

* Use SHA256 digest when creating site certificates to fix Chrome HSTS security errors.

1.2.0

Not secure
------------------

* Add properties to allow easy retrieval of the query string and request parameters.
* Don't verify SSL by default.
* Allow configurable number of request threads.
* Use connection persistance (keep-alive) by default. Make configurable.

1.1.2

Not secure
------------------

* Fix bug where request thread would spin after websocket closure.

1.1.1

Not secure
------------------

* Handle errors occuring on websocket connections.

1.1.0

Not secure
------------------

* Allow the request storage base directory to be configurable.
* Support proxying websocket connections.
* Fix bug where attempting to filter out non-existent headers would raise an error.
* Handle possibility of zero byte captured request/response files.

1.0.12

Not secure
-------------------

* Support for SOCKS proxies.

1.0.11

Not secure
-------------------

* Fix duplication of content-length header when altering body content.

1.0.10

Not secure
-------------------

* Scope request capture.
* Apply header filtering on a per-URL basis.

1.0.9

Not secure
------------------

* Add ability to provide a custom response handler method.

1.0.8

Not secure
------------------

* Remove signal handler from AdminClient to allow running in multi-threaded environment.
* Make connection timeout configurable.

1.0.7

Not secure
------------------

* Fix bug where temporary storage cleanup would sometimes fail when running in a multi-threaded environment.
* Don't rely on signal handlers for temporary storage cleanup. Signal handlers are not compatible with multiple threads. Use driver.quit() for explicit cleanup.

1.0.6

Not secure
------------------

* Support for disabling SSL verification when using self-signed certificates.

1.0.5

Not secure
------------------

* Improve performance on Windows by explicitly closing the response output stream.
* Capture stderr leaking from openssl to the console.
* Ensure subjectAltName is added to self signed certificates.
* Refactor certificate generation code.
* More robust handling of socket errors.
* Decode response bodies at the point a client asks for them, not at the point a response is captured.

1.0.4

Not secure
------------------

* Clean up cached request directory tree on driver.quit().
* Suppress connection related errors by default.

1.0.3

Not secure
------------------

* Responses are no longer sent chunk by chunk where they are missing a Content-Type header.
* Ensure delayed responses don't cause errors when server is not explicitly shutdown.

1.0.2

Not secure
------------------

* Support for authentication when using http based proxies.
* Fix bug where JSON response bodies were being decoded rather than being sent through as bytes.

1.0.1

Not secure
------------------

* Support PATCH requests

1.0.0

Not secure
------------------

* Ensure stored response body is always retrieved as bytes when asked for by the test.
* Updates to README.
* Use reverse chronological ordering of HISTORY.

0.10.0

Not secure
-------------------

* Fix issue where ignoring OPTIONS requests would trigger AttributeError.
* Allow proxy settings to be explicitly set to None.

0.9.0

Not secure
------------------

* Ignore OPTIONS requests by default, and allow list of methods to be configurable via the ignore_http_methods option.
* Move default Selenium Wire request storage from system temp to user home to prevent permission collisions.

0.8.0

Not secure
------------------

* Fix issue where new headers were not being added to the request when using driver.header_overrides.

0.7.0

Not secure
------------------

* README and doc updates.

0.6.0

Not secure
------------------

* Bundle openssl.cnf for Windows.

0.5.0

Not secure
------------------

* Clearer README instructions.

0.4.0

Not secure
------------------

* OpenSSL for Windows now bundled.
* Setup instructions for Edge.

0.3.0

Not secure
------------------

* Fix remote proxy basic authentication.
* Updates to README.

0.2.0

Not secure
------------------

* Load proxy settings from env variables.
* Support disabling of content encoding.
* Updates to README.

0.1.0

Not secure
------------------

* First release on PyPI.