selenium_extensions
selenium_extensions copied to clipboard
Update selenium to 4.18.1
This PR updates selenium from 3.10.0 to 4.18.1.
Changelog
4.18.1
* Add CDP for Chrome 122 and remove 119
4.18.0
* Update linting dependencies
* Setting Python for nightly releases - https://test.pypi.org/project/selenium/
4.17.2
* [py] Correct typing_extension dependency for wheel generation
4.17.1
* Fix typo in setup.py (13487)
4.17.0
* Add page load strategy enum (13258)
* Use correct file name when bumping versions (13282)
* Filter which bidi logs are recorded based on event type (12951)
* Add python to Selenium Manager input for tracking (see 13288)
* Sleep depending on the number of attempts to check if the service has started (13321)
* Use subprocess.DEVNULL instead of open(os.devnull) to avoid leaking a file handle (13329)
* Remove all references to firefox-bin
* Check if architecture/platform combination is supported for Selenium Manager (13381)
* Remove extension connection class and other usages of webdriver.xpi
* remove deprecated verbose argument from edge service
* remove deprecated desired_capabilities property from webdriver
* remove deprecated application cache support
* truncate large strings when logging requests
* Update WPEWebKit support code (13278)
* [py] Fix WPEWebKit python support code
* Do not change profile preferences of an existing directory by default (13477)
* Deprecate firefox profile methods that are not supported (13477)
* deprecate FirefoxBinary class (13476)
* Fix type error in mypy (13482)
* Add CDP for Chrome 121 and remove 118
4.16.0
* Fix inadvertent code change in mutation_event
* Fix bug in using SE_MANAGER_PATH
* Fix bug where downloaded file was not getting unzipped
* Add more logging to driver startup
* Fix WebDriverWait type hints for WebElement (13108)
* Clean up of usage of executable path in services
* Don't leak a file descriptor to os.devnull by default (13162)
* Allow bsd operating systems to use the linux binary
* Close trio memory channel sender after the driver is quit (13151)
* Remote webdriver cannot match Chromium browser name for remote connection
* Remove deprecated reuse_service parameter from Safari driver constructor
* Remove deprecated quiet parameter from Safari service constructor
* Ensure all drivers stop service during driver quit
* Update chromium driver constructors for readability
* Add CDP for Chrome 120 and remove 117
4.15.2
* Fix bug for unzipping downloaded files
4.15.1
* Fix bug in using SE_MANAGER_PATH
* Fix inadvertent code change in mutation_event
4.15.0
* Return a `pathlib.Path` when `SE_MANAGER_PATH` is set. closes 12929
* Do not set browser binary in selenium manager if it is an empty string (12738)
* Add CDP v119 and remove v116
* Remove selenium manager accommodation for Conda
* Implement file downloads (12979)
* Add some type hints to selenium.webdriver.support (13070)
4.14.0
* add CDP files for v118 and remove v115
* use lazy string interpolation for logging calls
* Fix dangling log_output in Service (12871)
4.13.0
* add CDP files for v117 and remove v114
* do not send parameters in payload that are used in endpoint (12685)
* close out driver logging on quit (12637)
* disable console appearing on windows when running in pythonw (12715)
* remove deprecated headless methods
* fix bug preventing using performance logging in chromium
* remove deprecation notice from Firefox profiles
* Allow users to set Selenium Manager path by environment variable (12752)
4.12.0
* Add CDP files for v116 and remove v113
* fix bug in ElementScrollBehavior in IE Options (12462)
* fix bug preventing sending keys with long strings (12474)
* fix typing for action_chains (12477)
* fix typing for IE Options (12464)
* fix bug in common options (12499)
* allow setting http client certifications with REQUESTS_CA_BUNDLE env (11957)
* support conda installation of selenium manager (12536)
* Drop support for `python3.7`
* Fixed a bug where `Popen.wait()` calls caught the wrong exceptions when timing out
4.11.2
* better bug fix for 12454
4.11.1
* Delete unusable Safari Options parameters to fix bug preventing Safari execution (12454)
4.11.0
* Add CDP files for v115 and remove v112
* removed redundant attributes `capabilities` and `set_capability` in wpewebkit/options.py (12169)
* mapped all error codes in `errorhandler.py` to corresponding exception object. (12190)
* improve driver logging (12103) - implement log_output() for flexibility and consistency of driver logging
* fix property name in Selenium Manager (12237)
* used truthy check instead of checking for length in `to_capabilities` method in `ie/options.py` (12262)
* remote commands dict is moved outside `RemoteConnection` class in `remote/remote_connection.py` (12261)
* moved `ConnectionType` class outside `Mobile` class to avoid nesting of classes (12256)
* used `pathlib` module to check if the file exist in `remote/file_detector.py` (12253)
* added truthy check in chromium options instead of identity operator (12274)
* added pythonic approach of type checking in `firefox/firefox_profile.py` (12271)
* let users pass service args to IE driver (12272)
* Adding ignore process match for IE Mode across bindings (12279)
* moved all ie options to custom descriptors. (12283)
* minor ie-options fix to PR 12283 (12309), fixes 12283
* added type hints to `SwitchTo` class (12296)
* Refactored Proxy object in common/proxy.py using custom descriptor. (12286)
* optimized Timeouts class by moving timeouts to descriptor class (12287)
* added type hinting support to ActionChains and Alert class (12290)
* Moved all `PrintOptions` class attributes to custom descriptor class. (12297)
* Use Selenium Manager to locate drivers on PATH (12356
* Enable cdp to work for edge
* Update docstring of wait.py so it can also cover the case of WebElement as 1st arg of WebDriverWait. (12376)
* Added type hinting support to `common/actions` libraries. (12325)
* Fix type of `ignore_proxy` in `ChromiumRemoteconnection`
* set exception direct cause when switching frame focus when NSE is raised
* Raise a more generic `ValueError` when proxy type is not acceptable
* Add browser output from selenium manager to options (12404)
* Add check=False explicitly to subprocess calls; simplify `keys_to_typing`
* Expose `WPEWebKitService` and `WebKitGTKService` in the public API
* Remove deprecated `ActionChains.scroll(...)`
* Removed unused variable `DEFAULT_SAFARI_CAPS` in `safari/webdriver.py` (12416)
* Added type checks in `setter` methods of different browser options (12328)
* Add creation flag for windows in selenium_manager (12435)
* Fix checking window handles for current
4.10.0
* Add CDP files for v114 and remove v111
* Fix bug preventing proxy from working in Options classes (12029)
* Add proxy support for Selenium Manager (12032)
* Additional updates to typing (12067, 12106)
* Add support for changing pointers in Actions class (11521)
* Remove browser filters for shadow root element searches (12112)
* Remove significant amounts of deprecated code (12030)
* Improve near relative locator behavior (11290)
* Change Selenium Manager logging to debug (12145)
* Add links to documentation in error messages (12156)
* Add custom error class for driver location and improve error logic
* Fix bug in BiDi mutation events
4.9.1
* Add CDP files for v113 and remove v110
* Minor fixes for docstring and dictionary declarations (11975)
* Update logging to match other bindings (11990)
* Support newer versions of urllib3 (11993)
4.9.0
* Remove "shadow_root" assertion in Python bindings for Firefox (11821)
* Simplify driver binary and driver location selecting (11864)
* Do not pass desired caps in Safari (11854)
* Selenium Manager get Browser Version from Options classes
* Selenium Manager use binary from Browser Options
* Adding v112 and removing v109
4.8.3
* Add fine grained control for arguments provided to service subprocesses by passing a `popen_kw` mapping for all services.
* `Options` classes now allow `timeout` to be set partially and no longer raise an exception when all values are not provided. (11623)
* No longer sending `SIGKILL` to subprocesses in instances where `SIGTERM` was successful within 60 seconds.
* Add CDP files for v111 and remove v108
* Pass default to `pop` when parsing service popen_kw
* Using json output with Selenium Manager
* Sphinx config update to keep invoked methods and shorter aliases in documentation (11802)
4.8.2
* Update tox.ini for a valid "isort" version (11667)
* Undo a bug fix that caused a worse bug. (11666)
4.8.1
* Add CDP files for v110 and remove v107
* pylint fixes including tidy of f strings, simplifications of conditional statements and isinstances (11205)
* Replace devtools genrule with proper generate_devtools rule. (11392)
* Add docstring for `alert_is_present`
* Updating Selenium Manager binaries for 4.8.1 release
4.8.0
* Add CDP files for v109 and remove v106
* Add logging to Selenium Manager for both stdout and stderr
* Multiple updates and improvements to types
* Fix sdist tar package_dir (11416)
* Add comment with name of large JS executions (11038)
* Deprecate headless property for chromium and firefox options classes (11467)
4.7.2
* Put selenium manager bug fix from 4.7.1 in the correct place
4.7.1
* Fix bug preventing selenium manager from using Internet Explorer
4.7.0
* Add CDP files for v108 and remove v105
* Improve error handling with Selenium Manager (11329)
* Fix bug preventing alternate package managers from using Selenium Manager (11234)
4.6.1
* Replace response.getheader() with response.headers.get() (deprecated in urllib3 1.26.13).
* Fixed a bug in `Service` destructors accessing modules that no longer existed during interpreter shutdown.
* Improved exception messages when raising for `relative` locator issues.
4.6.0
* Document firefox `service=` arg. closes 11067
* Additional types and tidying safari service
* Revert removal of default executable global for safari
* Additional types; remove unused `permissions.py`
* Remove `RemoteDriverServerException`
* Remove unused `send_remote_shutdown_command` implementations in services
* Update `log_path` docs for non chromium based services
* Make `get_screenshot_as_file()` work with pathlib.Paths (11095)
* Remove `protocols.py`
* fix typing in get_full_page_screenshot_as_png (11163)
* typo in error message (11166)
* Adding CDP files for v107 and removing v104
* add initial support for selenium manager
* Revert "[py] do not allow Select class to work with disabled selects"
* 11093 - The SessionId shouldn't be added to params themself bu… (11121)
4.5.0
* Fix frame_to_be_available_and_switch_to_it() for string inputs (10963)
* Implicit non w3c capability conversion for `acceptSslCerts`, `platform` and `version` is now deprecated
* Additional type hints
* Bugfix options returning `None` when strict_file_interactability, set_window_rect or accept_insecure_certs are not set
* Add CDP for v105, remove support for v102
* Add CDP for v106, remove support for v103
4.4.3
* Update explicit dependency for certifi to remove upper bound (10956)
4.4.2
* Add explicit dependency for certifi (10953)
4.4.1
* Removal of urllib3[secure] extras (deprecated) dependency
4.4.0
* More flexibility in locating Firefox binary (10818)
* Add CDP for v104, remove support for v101
* Throw error when setting w3c to False on Chromium, and warning when setting w3c to True
4.3.0
* Deprecated find_element_by_* and find_elements_by_* are now removed (10712)
* Deprecated Opera support has been removed (10630)
* Fully upgraded from python 2x to 3.7 syntax and features (10647)
* Added a devtools version fallback mechanism to look for an older version when mismatch occurs (10749)
* Better support for co-operative multi inheritance by utilising super() throughout
* Improved type hints throughout
4.2.0
* Fix bug preventing Firefox from setting accept_insecure_certs to False (10442)
* Deprecated opera classes as not w3c compatible (10379)
* Fix SecurityError: Invalid Domain problem (10653)
* Implement convenience methods for scrolling
4.1.5
* use `typing_extensions` to be compatible with `py37` (10613)
4.1.4
* Hook options class in safari driver (10433)
* Remove universal wheel, python 2 is unsupported (10438)
* Fix `tox -e docs` by pinning `Jinja2` (10492)
* Add support Chrome 100 and remove for Chrome 97
* Removed desired capabilities from handshake code (10494)
* Invalid selector exceptions are is not a no such element exception
* Do not convert tag name to css selector
* Add debug logging for urllib response data (10568)
* Use monotonic clock for waits, fixes 10544 (10550)
* Adding Chrome DevTools 101 and removing 98
* Add the ability to create sdist package of the python bindings
* Remove unicode prefix for strings (10562)
* Use `get_timeout()` for urllib pool manager timeouts in remote connection (10563)
* Fixing "--connect-existing" 10598
* Added DeprecationWarning to the warnings.warn methods inside the find_element_by_x methods (10575)
* Added virtual authenticator for Python Bindings (10579)
4.1.3
* fix generated wheel asset (10022)
* add support for proxy authentication (10358)
* add Safari options (10385)
* add support for Firefox to install unpacked addons (10308)
* add support for Chrome 99 and remove support for Chrome 96
4.1.2
* Include `py.typed` in the library
4.1.1
* add support for Chrome 98 and remove support for Chrome 95
* Add py.typed file (10310)
* Elaborate find_element deprecation message (10273)
* add support for Chrome v97
* convert selectors for finding elements in shadow dom
* missing self for service args
* don't use websocket-port if user sets connect-existing (a4dc6e)
* update tests for current IE options
* fix firefox addon tests
* Support new Cast command added to Chrome Devtools (10150)
* send Base64 encoded addon to driver instead of path String
* Reflect how find_elements returns a list, not just one WebElement. (10172)
* add shadowroot to api docs
* add log reference to api rst file
* remove non breaking space for doc generation
* Updating exceptions file for docs
* Add type hinting to Shadowroot
* update ShadowRoot find element signatures to match those in WebElement (10138)
* add Zenkaku/Hankaku key
* raise `NoSuchElementException` for relative failures instead of `IndexError` (10078)
* Remove legacy in favour of W3C endpoints. (10075)
* Tidy relativeby docs, use non deprecated methods in webserver (10077, 10103, 10108, 10186, 10212, 10120)
* PEP 484 type hints s (10099)
* Handle Socks Proxy for Remote Connections. Fixes 10091
* Add extra attributes to pointer down and pointer move actions
* Add Scroll via Wheel Inputs and Wheel Actions
4.1.0
* add warning if people set w3c to false as it may break their tests
* Fix wrong type annotations for "env" it's a dict not a string (10072)
* Added default executable path in service module for (10057)
* Fix typos for docstrings (10052)
* Fix return type hint in get_screenshot_as_png (10060)
* Add CDP for v96, remove support for v92 and v93
* Add support for shadow dom end points
* Upgrade sphinx to use latest
* Correct docstrings around Service usage
* XFail alert tests due to https://bugzilla.mozilla.org/show_bug.cgi\?id\=1731795
* Remove py2 import code
* Check the values in NO_PROXY and set the poolmanager accordingly (9925, 9967)
* Move python version to a variable to be shared about in build steps
* Bump Bazel rules_pkg to 0.5.1
4.0
* Update driver initialisation to use service and option objects
* turn on keep-alive by default for remote connections (7072)
* Fix ConnectionResetError
* Add new Cast commands
* Suggest download Microsoft Webdriver over HTTPS
* Clear PoolManager in ‘remote_connection’ to ensure sockets are closed
* remove --disable-gpu option for headless Chrome
* Add support for the New Window command (6873)
* Update docstrings in Options classes to allow documentation to highlight Return values
* Fix typos in select.py (6925)
* Remove native events handling code
* Deleting unused imports, fixing flake8 issues
* Remove unused port selection in IE Driver
* Enabling tests xpassed in Chrome
* Pretty-printing code samples
* remove all deprecated methods and args from Python bindings
* Fix DeprecationWarning: invalid escape sequence
* Don't override browser options with desired capabilities by default in WebKitGTK (6814)
* Add WebKitGTK to API docs (6815)
* Subclass options classes from a common base class (6522)
* Update Sphinx (6728)
* WebDriverWait: update documentation for until and until_not (6711)
* Fix typo in description of WebDriver class (6724)
* add strictFileInteractability to acceptable W3C capabilities
* Deprecate Blackberry Driver support
* Fixing/tidying docstring.
4.0.0
* Add cdp 95 to python and JS
* Remove Edge legacy options. (9908)
* Expected condition for checking attribute value (9881)
* implement relative locator for find_element (9902)
* Fix python generation code for CDP to optionals better
Selenium 4 Release Candidate 3
* Fix CDP Code Generation broken by Chromium 94
* Fix Deprecation warnings for IE Bindings. Fixes 9818
Selenium 4 Release Candidate 2
* Add new websocketUrl capability
* Force free ports for cdp in geckodriver
* Add w3c capabilities to Python options (9870)
* expected_conditions and wait modules raises InvalidSelectorException for invalid xpaths (9805)
* implement chromium specific endpoint for setting permissions
* implement chromium specific endpoint for deleting network conditions
* update ruby, python and JS to add support for v94 and remove support for v92
* Fix type hint on chrome option method (9840)
* Allows None to be set for the sameSite attribute (9771)
* Fix typo in python webdriver for IE (9801)
Selenium 4 Release Candidate 1
* Remove cdp versions 88, 89, and 90
* Replace v91 with v93 in bazel files
* update IE options class in each language to match the currently supported capabilities in the IE Driver
* Specify that the "find_element_by_* ..." warning is a deprecation warning (9700)
* clean up imports
* Use options when passing things to remote webdriver instead of capabilities (9678)
* Correct deprecation message in IE handling code
* Rewrite the logging module for bidi connections
* remove non-w3c compliant parameters from default capabilities
* Run type checks in CI and report typing coverage to codecov (9523)
* PEP 484 Type Hints added
* Handle first/always match better when it hits lists/dicts. Fixes 9538
* correct tox warnings
* Fix deprecation warnings for Safari (9577)
* Allow 0 coordinates for the window position. Fixes 9574
* Fix incorrect use of 'NoReturn' type annotation. (9540)
Selenium 4 Beta 4 (The Final Beta)
* Returning fixed IP in GitHub actions (9550)
* PEP 484 type hints for common.exceptions and webdriver.support.color (9482)
* Add the ability to pass in multiple options and have that capabilities returned as (first|always)Match
* Add docstrings for RelativeBy
* Add the ability to pass in different locators to do Relative Locator searches
* Add a test with returning a JS Const object 9468
* Handle poor responses from drivers when there are errors. Fixes 9437
* Add the ability to enable mobile on options classes
* Add the ability to use Options classes on Safari
* Fix converting list of tuples to str in send_keys (9330)
* Expand element to be clickable in expected conditions(9374)
* Upgrade rules_python to 0.2.0
Selenium 4 Beta 3
* Enable more tests
* Improve support for WebDriver Bidi over selenium grid
* Update CDP Support versions to remove 86,87 and add 90,91
* Allow overriding the default 250 msecs duration of pointer movement (9336)
* Only give deprecation warning if Profile is being used in options
* Loosen version requirements on dependencies. Fixes 9312
* Bump urllib3 from 1.26.2 to 1.26.3 in /py (9311)
* Disable wait on frame test due to bug in Firefox
* Correct pinned browser path for chrome on linux
Selenium 4 beta 2 Post 1
* Fix Chrome instantiation
Selenium 4 beta 2
* Set up python for pinned browsers
* Add Multiple file upload test
* Fix using arguments in Chrome Option. Fixes 9281
* Deprecate arguments in remote webdriver instantiation
* Improve proxy via options test for Firefox
* Set Chromium Edge to be the default for Edge browsers
* Move code so that it is reachable
* Fix usage of options to RemoteWebDriver (9240)
* Deprecate using a Firefox profile in Options
* use attribute endpoint to evaluate multiple selects
* implement get_dom_attribute
* Add attribute_to_be_include method to expected_conditions when the at… (9200)
* Additional Python type hints (9192)
* Correct Type Hinting on option method. Fixes 9210
* Use a flat namespace for selenium options
* remove unused imports
* Add ARIA APIs for getting the role and label of an Element
* Fix homepage attribute in wheel target
* Avoid using bazel native python rules
3.141.0
* Bump version to a better approximation of Π
* Improved Test build targets
* fix os path in test for Windows
* use 'NUL' for /dev/null on Windows
* Update ctor docstrings to explain that a directory passed in is cloned. Fixes 6542
* Allow passing of service_args to Safari. Fixes 6459
* Remove element equals url
* Improved WebExtension support
3.14.1
* Fix ability to set timeout for urllib3 (6286)
* get_cookie uses w3c endpoint when compliant
* Remove body from GET requests (6250)
* Fix actions pause for fraction of a second (6300)
* Fixed input pausing for some actions methods
* Capabilities can be set on Options classes
* WebElement rect method is now forward compatible for OSS endpoints (6355)
* Deprecation warnings now have a stacklevel of 2
* keep_alive can now be set on Webdriver init (6316)
* isDisplayed atom is now used for all w3c compliant browser, fixing issue with Safari 12
3.14.0
* Fix doc of URL-related ExpectedCondition (6236)
* Added ExpectedCondition invisibility_of_element
* Swap out httplib for urllib3
* Be consistent with webdriver init kwarg service_log_path (5725)
3.13.0
* Add executing Chrome devtools command (5989)
* fix incorrect w3c action encoding in python client (6014)
* Implement context manager for WebDriver
* Stop sending "windowHandle" param in maximize_window command for w3c
3.12.0
* Add desired_capabilities keyword to IE and Firefox drivers for driver consistency
* Fix bug with creating Safari webdriver instance (5578)
* Add support for Safari extension command
* Deprecate Options `set_headless` methods in favor of property setter
* Only set --disable-gpu for Chrome headless when on Windows
* Add selenium User-Agent header (5696)
* Remote webdriver can now be started when passing options
* All Options.to_capabilities now start with default DesiredCapabilities
* Improve the error message that is raised when safaridriver cannot be found (5739)
* IeOptions class is now imported to selenium.webdriver
* Remove the beta `authenticate` methods from `Alert`
3.11.0
No changes just keeping python version in step with the rest of the project.
Links
- PyPI: https://pypi.org/project/selenium
- Changelog: https://data.safetycli.com/changelogs/selenium/
- Homepage: https://www.selenium.dev