Selenium CHANGELOG[最新版本4.8.3]

发布时间 2023-04-18 09:08:34作者: 松勤吴老师

Selenium CHANGELOG[持续更新]

源文件 https://github.com/SeleniumHQ/selenium/blob/trunk/py/CHANGES

搬运工

对重点版本做时间标注,具体时间点可以参考https://github.com/SeleniumHQ/selenium/releases

对重点更新做简单翻译

持续更新

Selenium 4.8.3 (2023-3-25)

  • 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)

Selenium 4.8.2 (2023-2-18)

  • Update tox.ini for a valid "isort" version (#11667)
  • Undo a bug fix that caused a worse bug. (#11666)

Selenium 4.8.1 (2023-2-18)

  • 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

Selenium 4.8.0 (2023-1-23)

  • 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)

Selenium 4.7.2 2022-12-3

  • Put selenium manager bug fix from 4.7.1 in the correct place

Selenium 4.7.1 2022-12-3

  • Fix bug preventing selenium manager from using Internet Explorer

Selenium 4.7.0 2022-12-2

  • 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)

Selenium 4.6.1 2022-11-6

  • 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.

★Selenium 4.6.0 2022-11-4

  • 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)

Selenium 4.5.0

  • Fix frame_to_be_available_and_switch_to_it() for string inputs (#10963) 修复显式等待方法的bug(传入字符串参数)
  • 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

Selenium 4.4.3

  • Update explicit dependency for certifi to remove upper bound (#10956)

Selenium 4.4.2

  • Add explicit dependency for certifi (#10953)

Selenium 4.4.1

  • Removal of urllib3[secure] extras (deprecated) dependency

Selenium 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

★Selenium 4.3.0 2022-6-24

  • Deprecated find_element_by_* and find_elements_by_* are now removed (#10712) 正式移除find_element_by*系列方法
  • 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

Selenium 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

Selenium 4.1.5

  • use typing_extensions to be compatible with py37 (#10613)

Selenium 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)

Selenium 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

Selenium 4.1.2

  • Include py.typed in the library

Selenium 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

Selenium 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

★Selenium 4.0.0 2021-10-13 4系列第一个版本

  • 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

Selenium 4.0 Beta 1

  • Deprecate all but Options and Service arguments in driver instantiation. (#9125,#9128)
  • Upgrade Bazel rules_python to latest
  • Deprecate w3c checks in python bindings (#9109)
  • Remove legacy WebElement key ELEMENT (#9102, #9110)
  • Improve how desired_capabilities and options are merged
  • Use weakreferences for driver in switch and mobile classes (#2425)
  • Fix 'webview2' browser name for Edge py options. (#9090)
  • Add python type hinting
  • Improved alias for Keys (#9076)
  • Improve comment about using importlib_resources
  • Add mozdebugger capability to use CDP Features with Firefox
  • Refactor bidi APIs for logging to be on their own class
  • Make sure we are checking a string for local file detector
  • Add Ignored Exception to wait in Bidi Tests
  • Update tests
  • Adding Github Actions workflow for Python (#9031)
  • Fix WebDriver.start_session docstring to remove incorrect arguments (#9021)
  • Add Mutation Logging support
  • Pin Firefox bidi support to use the generated code for CDP 85
  • Fix handling of generated code put into wheels
  • Modernise the python code around imports and conditionals
  • Support for float types in text fields (#8936)
  • Add print page command to python binding (#8903)
  • Add Chrome v88 to bidi support
  • Fix pytest macro to allow --test_args to pass through
  • Remove thread.join in testing webserver due to chromedriver issue 3654
  • Fix grammar typos in exceptions.py (#8876)
  • Enforce python version in wheel when created. fixes #8863
  • Correct proxy tests
  • Include readme in Wheel so it's rendered on Pypi

Selenium 4.0 Alpha 7

  • BREAKING CHANGE: Dropped support for python < 3.7

  • Remove support for XBL in Firefox.

  • Correct formatting with JS fragment

  • Add debugpy to requirements

  • Fix uploading multiple files on remote driver (#7472) (#8734)

  • Correct docstring around find_element and find_elements. Fixes #8806

  • Add the ability to ignore local proxys that are available

  • add script pinning to python bindings

  • Deprecate desired_capabilities property in favour of capabilities property

  • Update tests to use requirements file

  • Allow driver fixtures to be used in Chrome only tests

  • Update testing to use the latest pytest

  • do not update already set preference (#8692)

  • Added new argument creationflags in Service class for common, chrome, and firefox (#8647)

  • add se namespacing to file upload endpoint for all bindings (#8588)

  • Correct dependency management for code generator

  • Update host to connect to get a port. Fixes #8503

  • Poll quicker for the driver when starting up. Fixes #8477

  • Add support for DevTools APIs

  • Improve WebKitGTK and WPEWebKit support

  • Fix browserName typo for Edge WebView2

  • Fix wheel generation for multiple python versions

Selenium 4.0 Alpha 6 Post 2

  • Correct usage of Abstract Base class in some instances
  • Correct build step for releasing

Selenium 4.0 Alpha 6

  • Add Abstract Base Class to WebElement and WebDriver #7127 (#8348)
  • Copy acceptInsecureCerts to Options for Firefox. Fixes #8261
  • Correct check on DEFAULT_EXECUTABLE_PATH
  • Use ProxyManager instead of PoolManager in remote_connection (#8297)
  • Check offsets are cast to int. Fixes #7639
  • Fixes an issue where IE server port is set '0' by default (#8294)
  • Favor Python3 constructs and Python 2.7 compatibility (#8290)
  • Remove Unused Arguments from Firefox
  • Fixup Firefox deprecations
  • Delete support for Blackberry Driver
  • Delete PhantomJS capabilities
  • Delete Android Driver support
  • Remove python crazyfun references
  • Enable and update Safari tests
  • Use same port in remote executor and service (#8255)
  • Update tests and docs to not use deprecated methods
  • mark various tests as failing in Firefox
  • Use callback functions instead callable objects as expected conditions (#7765)
  • Fix error in webelemet not created, verifying if is str or dict. (#3481)
  • verify command_executor ssl certificate by default (#6536)
  • Correct documentation for ChromiumDriver
  • Deprecating find_element(s)_* calls in event firing webdriver
  • Fixing path to selenium server for remote tests
  • Fixing relative locator constructor
  • Changing environment variable we use to check if the tests are running on travis
  • Fixing HSL to RGBa color converter
  • Deprecate use of AppCache APIs

Selenium 4.0 Alpha 5

  • Correct service usage in IE Binding. Fixes #7749
  • Deprecate find_element(s)by* calls
  • Use a capability to switch engines for Edge (#8096)
  • Fix Flake8 errors
  • Add WPEWebKit driver (#6375)
  • update python_requires to only support python 2.7 and Python3.5+(#8085)
  • add the ability to generate a wheel via bazel
  • Add in support for page loading strategies for Options
  • Add the ability to get and set timeouts against a driver. Fixes #7738
  • Correct Docstring import in WebDriverWait example. Fixes #7780
  • Explicitly force timeout value to float in WebDriverWait. Fixes #8050
  • Add support for relative locators
  • Fix clear actions in ActionChains (#7943)
  • Automate RemoteConnection subclass selection (#8010)
  • Fix capabilities to support macOS platform (#7980)
  • fix: DeprecationWarning of base64.encodestring() (#7446)
  • Build python code with Bazel
  • Parse python docstring example as code snippet
  • correct python_requires in setup
  • Fix grammar typo in exceptions.py (#7657)
  • Fixed references to chromedriver website

Selenium 4.0 Alpha 3

  • Fixing stacktrace parser to handle strings as well as objects
  • urllib throws on 404 so let's check the /status endpoint that returns 200
  • Changing default command executor address to the address of TNG Grid
  • Fixing check of type of a returned element in a test for all_of condition
  • Implement logical expected conditions in Python (#7121)
  • Explicitly clear PoolManager by using context manager (#6878)
  • Fix invisibility_of_element expected condition init function (#7484)
  • fix docs build, add chromium and edge to docs
  • flake8 fixes
  • allow --browser-binary and --browser-args to be used with ChromiumEdge
  • Add support for the new MicrosoftEdge (#7459)
  • increase async script timeout from 0 as the w3c spec states to start time checking immediately
  • fix unit test for firefox options, proxy key should be outside of options
  • update to w3c compliant log endpoints
  • Remove 'resolve_ip' option from RemoteConnection (#1729,#2509)
  • Running python unit tests with bazel
  • Pass capabilities rather than options to the proxy object (#6620)
  • Adding full page screenshot feature for Firefox (#7182)
  • Added EventFiringWebElement to the isinstance check in the move_to method.(#6604)
  • Added socksVersion field in proxy class (#6983)
  • also clear w3c actions in ActionChains#reset_actions
  • fix edge webdriver init by deprecating edge_service in favor of service also fix warnings import in edge/webdriver
  • Removes old exception and dead code from py lib.(#7134)
  • Raise error for unsupported method for set_window_rect

Selenium 4.0 Alpha 1

  • 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.

★Selenium 3.141.0 2018-12-20 3系列最后一个版本

其实后面还有几个小版本

  • 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

Selenium 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

Selenium 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)

Selenium 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

Selenium 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

Selenium 3.11.0

No changes just keeping python version in step with the rest of the project.

Selenium 3.10.0

  • make tests to check clicking on disabled element work for w3c compliant drivers (#5561)
  • add docstring for InvalidElementStateException. Fixes #5520
  • Deleting unused imports
  • Making python specification in IDEA project more generic
  • It should be possible to use a custom safaridriver executable to run Selenium's test suite.

Selenium 3.9.0

  • Add docstrings to WebElement find methods (#5384)
  • Additional data in unexpected alert error is now handled for w3c drivers (#5416)
  • Allow service_args to be passed into Firefox WebDriver (#5421)
  • Fix bug introduced with response logging in 3.8.1 (#5362)

Selenium 3.8.1

  • Fix bug when creating an Opera driver (#5266)
  • Stop sending sessionId in w3c payload. (#4620)
  • Fix issue with w3c actions releasing on element (#5180)
  • A more descriptive log message is displayed if the port cannot be connected (#2913)
  • Initialize Alert object by calling alert.text (#1863)
  • PhantomJS is now deprecated, please use either Chrome or Firefox in headless mode
  • Legacy Firefox driver: ensuring copy of profile dir, its 'extensions' subdir and 'user.js' file are writable. (#1466)

Selenium 3.8.0

  • Firefox options can now be imported from selenium.webdriver as FirefoxOptions (#5120)

  • Headless mode can now be set in Chrome Options using set_headless

  • Headless mode can now be set in Firefox Options using set_headless

  • Add the WebKitGTK WebDriver and options class (#4635)

  • Browser options can now be passed to remote WebDriver via the options parameter

  • Browser option parameters are now standardized across drivers as options. firefox_options,

    chrome_options, and ie_options are now deprecated

  • Added missing W3C Error Codes (#4556)

  • Support has been removed for Python versions 2.6 and 3.3

Selenium 3.7.0

  • need to pass applicable environment variables to tox
  • Fix active_element for w3c drivers (#3979)
  • add support for minimize command
  • add support for fullscreen command
  • window rect commands should fail on firefox and remote (legacy)
  • Fix python backward compatibility for window commands (#4937)
  • Update docstrings to specify the type of path needed to install firefox addons. (#4881)
  • Update python chromeOptions key for capabilities (#4622)
  • Fix python pause action implementation (#4795)

Selenium 3.6.0

  • Fix package name in python webelement module (#4670)
  • Fix python driver examples (#3872)
  • No need to multiply pause by 1000
  • Add pause to action chains
  • only check for proxyType once
  • lowercase proxy type for w3c payload in python #4574
  • guarding against null return value from find_elements in python #4555
  • remove unnecessary pytest marking, address flake8 issues
  • allow IE WebDriver to accept IE Options
  • add IE Options class
  • convert OSS capabilities to W3C equivalent for W3C payload
  • Add Safari to API docs

Selenium 3.5.0

  • Numerous test fixes

*Iterate over capabilities in a way to support py2.7 and py3

  • Fix W3C switching to window by name.
  • Support GeckoDriver addon install/uninstall commands #4215.
  • Move firefox_profile into moz:firefoxOptions.
  • Filter non-W3C capability names out of alwaysMatch.
  • Honor cmd line args passed to Service ctor (#4167)
  • Add expected conditions based on URL to Python Expected Conditions #4160
  • Add network emulation to Chrome Python bindings (#4011)
  • add warning when saving incorrectly named screenshot (#4141)

Selenium 3.4.3

  • Fix EventFiringWebdriver and WebElement to raise AttributeError on missing attributes. (#4107)
  • unwrap WebElements inside dicts

Selenium 3.4.2

  • translate move_by_offset command to w3c
  • Update capabilities properly instead of assuming dict structure. Fixes #3927
  • Add missing file for Chrome options to API docs.
  • Add Chrome options module to API docs.

Selenium 3.4.1

  • Add back the ability to set profile when using Firefox 45ESR. Fixes #3897

Selenium 3.4.0

  • Correct usage of newSession around firstMatch and alwaysMatch
  • Remove superfluous capabilities that are not needed
  • Add expected condition that waits for all found elements to be visible (#3532)
  • Allow methods wrapped by EventFiringWebDriver and EventFiringWebElement (#806)
  • Dropping javascriptEnabled capability for real browsers
  • Use W3C check from parent object instead of assuming from capabilities
  • Bump example source distribution to match latest release.
  • Replace TypeError with KeyError in remote webdriver error handler code (#3826)
  • When testing Marionette use default capabilities in testing
  • Conform to the api of urllib2 for adding header for a request (#3803)
  • Add text key to alert#sendKeys parameters for W3C Endpoint
  • Location once scrolled into view should use W3C executeScript endpoint not JSONWP
  • Fixed the usage information in documentation of "save_screenshot". (#3804)
  • Add Element Not Interactable exception
  • Clean up imports in error handler
  • flake8 cleanup

Selenium 3.3.3

  • make w3c execute_script commands unique

Selenium 3.3.2

  • Update window commands to use W3C End points
  • Update Alert when in W3C mode to use W3C Endpoints
  • Update to new W3C Execute Script end points
  • Add setting/getting proxy details to Firefox Options
  • Deprecate the use of browser profile when instantiating a session
  • Update start session to handle the W3C New Session
  • Add get/set window rect commands
  • Add InvalidArgumentException
  • When passing in text to send_keys, make sure we send a string not array
  • Fix string decoding in remote connection (#3663)
  • Fix indentation to satisfy PEP8
  • Try use old way of setting page load timeout if new way fails. Fixes #3654
  • fix file uploads for Firefox
  • Run unit tests on Python 3.3, 3.4, and 3.5 (#3638)
  • Fix indentation in double_click.
  • Fix non-W3C page load timeout setting.

Selenium 3.3.1

  • Fix encoding of basic auth header when using Python 3 Fixes #3622
  • Add initial unit test suite
  • Update W3C Timeout setting to be in line with the specification
  • support.ui.Select class inherits from object (#3067)
  • fix bug in proxy constructor that some properties are not proper set (#3459)
  • Fix flake8 issues (#3628)

Selenium 3.3.0

Note If you are updating to this version, please also update GeckoDriver to v0.15.0

  • Fix python HTTPS encoding for python driver (#3379)
  • Allow Firefox preferences to be set directly in Options
  • Fix shutdown and process termination (#3263)
  • Preventing exception if log_path is none or empty. Fixes #3128
  • Add the W3C capability to Firefox for accepting insecure certificates
  • Initial implementation of Pointer Actions
  • Only skip tests if driver name matches a directory name.
  • Update calls that return a pure object with keys to look for 'value' key
  • Initial W3C Actions support
  • fix docs output directory

Selenium 3.0.2

  • Add support for W3C Get Active Element
  • Return when we use executeScript for faking WebElement.get_property
  • Expand user paths and resolve absolute path for Chrome extensions
  • Add support for verbose logging and custom path to EdgeDriver
  • Update TakeElementScreenshot to match WebDriver specification
  • Raise WebDriverException when FirefoxBinary fails to locate binary
  • Fix getting IP for python 3
  • Write Service log to DEVNULL by default
  • Only attempt to remove the Firefox profile path if one was specified
  • Added context manager for chrome/content in Firefox

Selenium 3.0.1

  • Fix regressions with python 3
  • Add support for Safari Technology Preview

Selenium 3.0.0

  • new FirefoxDriver ctor precedence logic and moz:firefoxOptions support (#2882)
  • Add W3C Set Window Position and W3C Get Window Position
  • enable log path setting from firefox webdriver (#2700)
  • Correct encoding of getAttribute.js and only load it once. Fixes #2785
  • Encode the isDisplayed atom and only load it once

Selenium 3.0.0.b3

  • Use atoms for get_attribute and is_displayed when communicating with

    a w3c compliant remote end.

  • Make it possible to specialise web element

Selenium 3.0.0.b2

  • Updated Marionette port argument to match other drivers.

Selenium 3.0.0.b1

  • Fix basestring reference to work with python 3. Fixes #1820
  • Correct Length conditional when filtering in PhantomJS. Fixes #1817
  • Fix send keys when using PUA keys e.g. Keys.RIGHT #1839
  • Fix cookie file leak in PhantomJS #1854
  • Use the correct binary path when using Marionette
  • Fixed: Unhelpful error message when PhantomJS exits. (#2173 #2168)
  • Fix broken link to python documentation (#2159)
  • Attempt to remove Firefox profile when using Marionette
  • Ensure all capabilities are either within desiredCapabilities or requiredCapabilities
  • Correct the expected capability name for the Firefox profile
  • Add Firefox options to capabilities
  • Visibility_of_all implies it only returns elements if all visible (#2052)
  • Find visible elements (#2041)
  • Pass the firefox_profile as a desired capability in the Python client when using a remote server
  • Avoid checking exception details for invalid locators due to differences in server implementations
  • Handle capabilities better with Marionette and GeckoDriver
  • Updated the maxVersion of FirefoxDriver xpi maxVersion to work with Firefox 47.0.1
  • Remove Selenium RC support

Selenium 2.53.0

  • Adding Options object for use with Python FirefoxDriver
  • Fixed improper usage of super in exceptions module
  • create a temp file for cookies in phantomjs if not specified
  • Pass in the executable that FirefoxBinary finds to the service if there isn't one passed in as a kwarg or capability
  • Applied some DRY and extracted out the keys_to_typing()
  • Fix deselecting options in