This PR pins selenium to the latest release 3.141.0.
Changelog
### 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 consitency
* 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.
```
### 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.
```
### 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)
```
### 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)
```
### 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
```
### 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)
```
### 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
```
### 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)
```
### 3.4.3
```
* Fix EventFiringWebdriver and WebElement to raise AttributeError on missing attributes. (4107)
* unwrap WebElements inside dicts
```
### 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.
```
### 3.4.1
```
* Add back the ability to set profile when using Firefox 45ESR. Fixes 3897
```
### 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 alertsendKeys 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
```
### 3.3.3
```
* make w3c execute_script commands unique
```
### 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.
```
### 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)
```
### 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
```
### 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
```
### 3.0.1
```
* Fix regressions with python 3
* Add support for Safari Technology Preview
```
### 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
```
### 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
```
### 3.0.0.b2
```
* Updated Marionette port argument to match other drivers.
```
### 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
```
### 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 isnt one passed in as a kwarg or capability
* Applied some DRY and extracted out the keys_to_typing()
* Fix deselecting options in <select>
```
### 2.52.0
```
* Fixing case where UnexpectedAlertException doesn't get the alert_text in the error object
* Firefox: Actually use launch_browser timeout Fixes 1300
```
### 2.51.1
```
* correcting bundling issue missing README.rst file
```
### 2.51.0
```
* Firefox updates (see java changelog)
```
### 2.50.1
```
* Fixing error message handling. Fixes issue 1497
* Fixing error message handling. Fixes issue 1507
* Update webelement to handle W3C commands for size/location and rect
* rewrite click scrolling tests to match the Java ones
```
### 2.50.0
```
* handle potential URLError from sending shutdown, set self.process to None after it's already been quit
* Add support for submit() with W3C compliant endpoint
```
### 2.49.1
```
* Ensure you can close stream before attempting to close it.
* message response may cause json loads ValueError when it's not actually json
and just a string (like the message that occurs when firefox driver thinks
another element will receive the click)
* Cleanup some error handling when sniffing what protocol you are speaking
```
### 2.49.0
```
* Have Firefox service write to a file instead of PIPE
* on osx for firefox, fallback to checking homebrew install, if the default isn't there
* Added Firefox path variable for string placeholder
* Update README to show Python 3.2+
* refactoring all the service classes to use a common one.
* Add Firefox specific command to switch context between Browser content and Browser chrome
* updating files after go copyright:update
* Use specificationLevel to know that we are speaking GeckoDriver
* Bug fixes: 1294, 1186
```
### 2.48.0
```
* Update error pulling to match spec when we encounter a spec compliant browser.
* Disable tests that are not working with Marionette when running Marionette tests
* Add the ability to run python marionette tests
* Python 3 compatibility for remote Authorization
* changing casing of children finding tests
```
### 2.47.3
```
* Bring back py 3 support
```
### 2.47.2
```
* Fix running Edge driver locally on win10
* adding repr to WebDriver and WebElement
```
### 2.47.1
```
* Fix the issue of deleting the profile when shutting down Firefox
* WebElement __eq__ compares against more types
* Issues fixed: 850
```
### 2.47.0
```
* Add in support for when communicating with a Spec compliant browsers
* Initial support for Edge using EdgeDriver
* Issues fixed: 818
```
### 2.46.1
```
* Adding ability to make remote call for webelement screenshots in accordance to the W3C spec
* Adding api to authenticate HTTP Auth modal dialogs via driver.switch_to.alert (beta)
* Add rebeccapurple to Color Object
* Add element screenshot
* Add service handler and minimal update to driver to use service for Marionette
* Add the ability to start FirefoxDriver backed with Marionette via a capability
* support socket timeout for connections
* free_port checks if port is available on all interfaces
* Allow error handling to handle both current errors and w3c errors
* Update find_elements to match spec
* phantomjs: service: remove unused import of signal
* phantomjs: add port information to WebDriverException
* Issues fixed (Github): 478, 612, 734, 780
```
### 2.46.0
```
* Firefox support up to 38
* BlackBerry browser support
* remove Presto-Opera support
* firefox extension extraction fixes
* process management fixes with phantomjs
* Comparing remote web element for equality does not require a remote command
* Issues Fixed: (gcode) 8493, 8521, 8498, 8274, 8497, 5923
* Issues Fixed: (github) 401
```
### 2.45.0
```
* Firefox support up to 35, support for native events up to 34.
* Make Opera driver support also the new Blink based Opera
* README: Fix the Yahoo example
* WebElement docstring fixes
* Add debugger_address option to the ChromeDriver options list to optionally instruct ChromeDriver to wait for the target devtools instance to be started at a given host:ip
* Set default value for PhantomJS process reference
* Allow setting of FileDetector for send_keys
* Pass info to TimeoutException in WebDriverWait
* Issues Fixed: 8065, 8310, 8539
```
### 2.44.0
```
* (previous release person forgot to add release notes! DAVID!)
```
### 2.43.0
```
* Expand WebElement.get_attribute API docs
* firefox may be installed without admininstrator privileges
and therefore there may be no HKEY_LOCAL_MACHINE entry. Issue 7784
* UnexpectedAlertPresentException should contain the alert text in python too. Issue 7745
* don't mutate the global 'ignored exceptions', take a copy of the globally specified ones, change the
global to be a tuple instead. Issue 7725
* raise exception when the firefox binary isn't actually found, which usually implies the upgrade failed (on windows) Issue 6092 ,6847
* Fixing NameError: global name 'options' is not defined.
* Remove unused import subprocess.PIPE
* Redirect Firefox output to /dev/null by default Fixes Issue 7677
* More flexible management of http timeouts in Selenium RC python client
* Generate Python API docs for selenium.webdriver.chrome.options. Fixes issue 7471
* Use 127.0.0.1 as localhost name resolving might fail on some systems
```
### 2.42.1
```
* Fixed Py3 issues
* Make firefox_binary.py and firefox_profile.py not executable
* Make exceptions Python 3 compatible
```
### 2.42
```
* Support for Firefox 29 Native Events
* "remote_url" and "remote_browser" parameters for "./go test_remote".
* missing __init__ in new android module
* issue 7304 Fix memory leak caused by __del__ in PhantomJS
* File upload using remotedriver on python3
* Updating xpi install to align with mozprofile
* command_executor should also support unicode strings as well.
```
### 2.41
```
* Support for Firefox 28
* deprecating switch_to_* in favour of driver.switch_to.*
```
### 2.40
```
* Support for Firefox 27
* Fixes related to http connection
* Fix for phantomjs running on windows 6736
```
### 2.39
```
* Support for Firefox 26
```
### 2.38.4
```
* keep-alive can't be used for phantomjs / IE, fix for that and tested for py3 :)
```
### 2.38.3
```
* really supporting py3 :)
```
### 2.38.2
```
* py3 support (once again)
```
### 2.38.1
```
* fix packaging problem where firefox/webdriver_prefs.json was missing
```
### 2.38
```
* Support for Firefox 25
* FirefoxProfile now using common webdriver.json instead of having our own copy in py
- behavior change to the preferences is that they now should be treated
like raw types rather than strings and allow the json library to translate
the types appropriated (e.g. True => true)
* Set proper 'Accept' request header so that Python bindings work with some old WebDriver implementations that reply 404 to requests with no 'Accept' set.
* handle redirect response explicitly (since switching to using keep-alive)
* phantomjs service needs to really kill the spawned process Issue 5921
* removing old api endpoints from command listing
* using keep-alive for remote connection
* adjusting phantomjs subprocess.Popen
* ActionsChains.send_keys should use <session>/keys endpoint Issue 6348
* fix TypeError in chrome_options.extensions for Python3.x
* Other Bugs Fixed: 6531, 6513, 4569, 6454
```
### 2.37.2
```
* fix regression added with unicode fix
* Bug fix 6360
```
### 2.37.1
```
* fix find_elements on webelement using unicode locators and py 2.7
```
### 2.37
```
* repackage with fix for Firefox native events on Linux
* fix issue with unicode By locators w/ python 2.7 6430
```
### 2.36
```
* Added Safari WebDriver. Fixes issue 5352.
* fix platform for safari caps
* Convert all offsets/coordinates/speeds into integers
* Fix drag and drop by offset behaviour
* Fix initialization of Proxy by capabilities when proxyType is set
* Enable SOCKS proxy support
* Validation of passed locator for find_element(s) methods 5690
* Adding support for /status, /sessions commands
* Doc fixes
* ability to set Chrome extensions by using base64 encoded strings 4013
* fix logic regarding Select.select_by_visible_text 3910
* Bugs fixed: 6165, 6231
```
### 2.35
```
* Remove duplicate 'get screenshot as file' methods. Add method 'get_screenshot_as_png'
* fixing UnicodeEncodeError on get attribute of webelement
```
### 2.34
```
* Corrected webdriverbackedselenium session handling. Fixes issue 4283
* Corrected use of basestring for python 3. Fixes issue 5924
* Support for Firefox 22
* Added support for logging from the browser
* corrected proxy handling on FirefoxProfile
* Corrected handling of chrome extensions. Fixes issue 5762
```
### 2.33
```
* getText() ignores elements in the <head>
* Adding both official and informal string representations to Color object.
* Replace distutils.dir_util by shutil
* Allow finding firefox binary at ProgramFiles(x86) on windows(64 bit)
* Py3 compatible winreg import and content-type access
```
### 2.32
```
* Support for FF20 Native Events
* Python 3 support
* Misc Python 3 patches
* Allow easy FirefoxBinary subclassing
```
### 2.31
```
* Support for FF19 native events
* web element equality is now in conformance with other language bindings
```
### 2.30
```
* Allow env to be specified for the chromedriver service
* Allow log path to be specified for phantomjs driver service.
* Bug Fixes: 4608 4940 4974 5034 5075
```
### 2.29
```
* Allow subclassing of driver and have the ability to send_keys Issue 4877, 5017
* Simplifying save_screenshot and allow phantomjs to take screenshots
```
### 2.28
```
* "null" can now be passed to executeScript
* Add transparent and extended colour keywords to color support module. Fixes issue 4866
```
### 2.27
```
* Added support for phantomjs / ghostdriver
* Fix python client, avoid duplicate chrome option items after reusing options class. Fixes Issue 4744.
* adding colour support to Python. fixes issue 4623
* Adding log_path/service_log_path as named kwargs for chrome
```
### 2.26
```
* Added location_when_scrolled_into_view - Bug 4357
* Added new expected_conditions support module to be used with WebDriverWait
```
### 2.25
```
* Jython 2.7 Support - Bug 3988
* EventFiringWebDriver added to Support module - Bug 2267
* Added IEDriverServer logging that can be accessed via desired capabilities
* Fixed by data being passed into find_elements - bug 3735
* Removed deprecated ChromeDriver items around desiredcapabilites in favour of chrome options
* Added default values for a number of action_chains calls
```
### 2.24
```
* Removing the ctypes approach of invoking IEDriver, you will need to download the IEDriverServer from
https://code.google.com/p/selenium/downloads/list
```
### 2.23
```
* Support for FF13 native events
```
### 2.22
```
* Moving IEDriver to be able to use IEDriverServer
```
### 2.21.3
```
* Fix for File Upload to remote servers
* Better handling of typing in input=file. Bug 3831, 3736
* Better handling of unicode URLS Bug 3740
```
### 2.21.2
```
* Fix typing to file input when not using Selenium Server. Bug 3736
```
### 2.21.1
```
* focusmanager.testmode messes with native events, removing it.
```
### 2.21
```
* Local File upload capabilities for non-remote browser
* Adding maximize_window api call
* Updating default firefox profile to set focusmanager.testmode to true
see https://bugzilla.mozilla.org/show_bug.cgi?id=704583
* bugs fixed: 3506, 3528, 3607
```
### 2.20
```
* disable native events for FF on Mac by default
* fix webdriverwait to execute at least once when using 0 timeout
* Fixed Issue 3438
```
### 2.19
```
* WebDriverBackedSelenium is now avalaible to all languages
* Addon installation fixes
```
### 2.18
```
* Proxy capabilities passing
```
### 2.17
```
* OperaDriver can now be invoked by webdriver.Opera()
* Support has been added for ChomeOptions. This deprecates support passing in DesiredCapabilities
* Proxy class to tell the browser a proxy is in use. Currently only for Firefox
```
### 2.16
```
* bug fixes
```
### 2.15
```
* bug fixes
```
### 2.14
```
* Fix for LD_PRELOAD being polluted by WebDriver
* Added Orientation API
* A fix for Error Handling
```
### 2.13
```
* Fixed switch_to_window so that it didnt crash Firefox Bug 2633
* Fixed Screenshot handling to work in all browsers. Bug 2829
* Force Firefox to the Foreground
```
### 2.12
```
* Added Select as a support pacakge
* Added Beta window size / position api's
* Bug Fixes
```
### 2.11.0
```
* no changes just packaging
```
### 2.10
```
* "Choose which apps" dialog has been disabled
* Bug Fixes
```
### 2.9
```
* Bug Fixes
* Documentation
```
### 2.8
```
* Actions updates
* Bug Fixes
```
### 2.6
```
* Documentation fixes
```
### 2.5
```
* Fixed x64 IE Support
* Bug Fixes
```
### 2.4
```
* Bug Fixes
* x64 IE Support
* Added WebDriverWait as a support package
```
### 2.3
```
* Bug Fixes
```
### 2.2
```
* Ability to get screenshots from Exceptions if they are given
* Access to Remote StackTrace on error
```
### 2.1
```
* Bug Fixes
Selenium 2
* Removed toggle() and select()
Selenium 2 RC 3
* Added Opera to Desired Capabilities
* Removed deprecrated methods
* Deprecated toggle() and select() methods. This will be removed in the next release
Selenium 2 Beta 4
* Fix for using existing Firefox Profiles
* Alerts Support in IE
* Fix to dictionary returned from size
* Deprecated value property. Use the get_attribute("value") method
* Deprecated get_page_source method. Use page_source property
* Deprecated get_current_window_handle. Use current_window_handle property
* Deprecated get_window_handles. Use window_handles property
* Ability to install extensions into profiles
* Added Location to the WebElement
* ChromeDriver rewritten to use new built in mechanism
* Added Advanced User Interaction API. Only Available for HTMLUnit at the moment
* Profiles now delete their temp folders when driver.quit() is called
Selenium 2 Beta 3
* Accept Untrusted Certificates in Firefox
* Fixed Screenshots
* Added DesiredCapabilities to simplify choosing Drivers
* Fixed Firefox Profile creation
* Added Firefox 4 support
* DocStrings Improvements
Selenium 2 Beta 2
* New bindings landed. Change webdriver namespace to "selenium.webdriver"
* Ability to move to default content
* Implicit Waits
* Change the API to use properties instead of get_x
* Changed the Element Finding to match other languages
* Added ability to execute asynchronous scripts from the driver
* Ability to get rendered element size
* Ability to get CSS Value on a webelement
* Corrected Element finding from the element
* Alert and Prompt handling
* Improved IEDriver
* Basic Authentication support for Selenium 2
* Ability to have multiple Firefox instances
```
Links
- PyPI: https://pypi.org/project/selenium
- Changelog: https://pyup.io/changelogs/selenium/
- Repo: https://github.com/SeleniumHQ/selenium/
This PR pins selenium to the latest release 3.141.0.
Changelog
### 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 consitency * 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. ``` ### 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. ``` ### 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) ``` ### 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) ``` ### 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 ``` ### 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) ``` ### 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 ``` ### 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) ``` ### 3.4.3 ``` * Fix EventFiringWebdriver and WebElement to raise AttributeError on missing attributes. (4107) * unwrap WebElements inside dicts ``` ### 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. ``` ### 3.4.1 ``` * Add back the ability to set profile when using Firefox 45ESR. Fixes 3897 ``` ### 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 alertsendKeys 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 ``` ### 3.3.3 ``` * make w3c execute_script commands unique ``` ### 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. ``` ### 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) ``` ### 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 ``` ### 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 ``` ### 3.0.1 ``` * Fix regressions with python 3 * Add support for Safari Technology Preview ``` ### 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 ``` ### 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 ``` ### 3.0.0.b2 ``` * Updated Marionette port argument to match other drivers. ``` ### 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 ``` ### 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 isnt one passed in as a kwarg or capability * Applied some DRY and extracted out the keys_to_typing() * Fix deselecting options in <select> ``` ### 2.52.0 ``` * Fixing case where UnexpectedAlertException doesn't get the alert_text in the error object * Firefox: Actually use launch_browser timeout Fixes 1300 ``` ### 2.51.1 ``` * correcting bundling issue missing README.rst file ``` ### 2.51.0 ``` * Firefox updates (see java changelog) ``` ### 2.50.1 ``` * Fixing error message handling. Fixes issue 1497 * Fixing error message handling. Fixes issue 1507 * Update webelement to handle W3C commands for size/location and rect * rewrite click scrolling tests to match the Java ones ``` ### 2.50.0 ``` * handle potential URLError from sending shutdown, set self.process to None after it's already been quit * Add support for submit() with W3C compliant endpoint ``` ### 2.49.1 ``` * Ensure you can close stream before attempting to close it. * message response may cause json loads ValueError when it's not actually json and just a string (like the message that occurs when firefox driver thinks another element will receive the click) * Cleanup some error handling when sniffing what protocol you are speaking ``` ### 2.49.0 ``` * Have Firefox service write to a file instead of PIPE * on osx for firefox, fallback to checking homebrew install, if the default isn't there * Added Firefox path variable for string placeholder * Update README to show Python 3.2+ * refactoring all the service classes to use a common one. * Add Firefox specific command to switch context between Browser content and Browser chrome * updating files after go copyright:update * Use specificationLevel to know that we are speaking GeckoDriver * Bug fixes: 1294, 1186 ``` ### 2.48.0 ``` * Update error pulling to match spec when we encounter a spec compliant browser. * Disable tests that are not working with Marionette when running Marionette tests * Add the ability to run python marionette tests * Python 3 compatibility for remote Authorization * changing casing of children finding tests ``` ### 2.47.3 ``` * Bring back py 3 support ``` ### 2.47.2 ``` * Fix running Edge driver locally on win10 * adding repr to WebDriver and WebElement ``` ### 2.47.1 ``` * Fix the issue of deleting the profile when shutting down Firefox * WebElement __eq__ compares against more types * Issues fixed: 850 ``` ### 2.47.0 ``` * Add in support for when communicating with a Spec compliant browsers * Initial support for Edge using EdgeDriver * Issues fixed: 818 ``` ### 2.46.1 ``` * Adding ability to make remote call for webelement screenshots in accordance to the W3C spec * Adding api to authenticate HTTP Auth modal dialogs via driver.switch_to.alert (beta) * Add rebeccapurple to Color Object * Add element screenshot * Add service handler and minimal update to driver to use service for Marionette * Add the ability to start FirefoxDriver backed with Marionette via a capability * support socket timeout for connections * free_port checks if port is available on all interfaces * Allow error handling to handle both current errors and w3c errors * Update find_elements to match spec * phantomjs: service: remove unused import of signal * phantomjs: add port information to WebDriverException * Issues fixed (Github): 478, 612, 734, 780 ``` ### 2.46.0 ``` * Firefox support up to 38 * BlackBerry browser support * remove Presto-Opera support * firefox extension extraction fixes * process management fixes with phantomjs * Comparing remote web element for equality does not require a remote command * Issues Fixed: (gcode) 8493, 8521, 8498, 8274, 8497, 5923 * Issues Fixed: (github) 401 ``` ### 2.45.0 ``` * Firefox support up to 35, support for native events up to 34. * Make Opera driver support also the new Blink based Opera * README: Fix the Yahoo example * WebElement docstring fixes * Add debugger_address option to the ChromeDriver options list to optionally instruct ChromeDriver to wait for the target devtools instance to be started at a given host:ip * Set default value for PhantomJS process reference * Allow setting of FileDetector for send_keys * Pass info to TimeoutException in WebDriverWait * Issues Fixed: 8065, 8310, 8539 ``` ### 2.44.0 ``` * (previous release person forgot to add release notes! DAVID!) ``` ### 2.43.0 ``` * Expand WebElement.get_attribute API docs * firefox may be installed without admininstrator privileges and therefore there may be no HKEY_LOCAL_MACHINE entry. Issue 7784 * UnexpectedAlertPresentException should contain the alert text in python too. Issue 7745 * don't mutate the global 'ignored exceptions', take a copy of the globally specified ones, change the global to be a tuple instead. Issue 7725 * raise exception when the firefox binary isn't actually found, which usually implies the upgrade failed (on windows) Issue 6092 ,6847 * Fixing NameError: global name 'options' is not defined. * Remove unused import subprocess.PIPE * Redirect Firefox output to /dev/null by default Fixes Issue 7677 * More flexible management of http timeouts in Selenium RC python client * Generate Python API docs for selenium.webdriver.chrome.options. Fixes issue 7471 * Use 127.0.0.1 as localhost name resolving might fail on some systems ``` ### 2.42.1 ``` * Fixed Py3 issues * Make firefox_binary.py and firefox_profile.py not executable * Make exceptions Python 3 compatible ``` ### 2.42 ``` * Support for Firefox 29 Native Events * "remote_url" and "remote_browser" parameters for "./go test_remote". * missing __init__ in new android module * issue 7304 Fix memory leak caused by __del__ in PhantomJS * File upload using remotedriver on python3 * Updating xpi install to align with mozprofile * command_executor should also support unicode strings as well. ``` ### 2.41 ``` * Support for Firefox 28 * deprecating switch_to_* in favour of driver.switch_to.* ``` ### 2.40 ``` * Support for Firefox 27 * Fixes related to http connection * Fix for phantomjs running on windows 6736 ``` ### 2.39 ``` * Support for Firefox 26 ``` ### 2.38.4 ``` * keep-alive can't be used for phantomjs / IE, fix for that and tested for py3 :) ``` ### 2.38.3 ``` * really supporting py3 :) ``` ### 2.38.2 ``` * py3 support (once again) ``` ### 2.38.1 ``` * fix packaging problem where firefox/webdriver_prefs.json was missing ``` ### 2.38 ``` * Support for Firefox 25 * FirefoxProfile now using common webdriver.json instead of having our own copy in py - behavior change to the preferences is that they now should be treated like raw types rather than strings and allow the json library to translate the types appropriated (e.g. True => true) * Set proper 'Accept' request header so that Python bindings work with some old WebDriver implementations that reply 404 to requests with no 'Accept' set. * handle redirect response explicitly (since switching to using keep-alive) * phantomjs service needs to really kill the spawned process Issue 5921 * removing old api endpoints from command listing * using keep-alive for remote connection * adjusting phantomjs subprocess.Popen * ActionsChains.send_keys should use <session>/keys endpoint Issue 6348 * fix TypeError in chrome_options.extensions for Python3.x * Other Bugs Fixed: 6531, 6513, 4569, 6454 ``` ### 2.37.2 ``` * fix regression added with unicode fix * Bug fix 6360 ``` ### 2.37.1 ``` * fix find_elements on webelement using unicode locators and py 2.7 ``` ### 2.37 ``` * repackage with fix for Firefox native events on Linux * fix issue with unicode By locators w/ python 2.7 6430 ``` ### 2.36 ``` * Added Safari WebDriver. Fixes issue 5352. * fix platform for safari caps * Convert all offsets/coordinates/speeds into integers * Fix drag and drop by offset behaviour * Fix initialization of Proxy by capabilities when proxyType is set * Enable SOCKS proxy support * Validation of passed locator for find_element(s) methods 5690 * Adding support for /status, /sessions commands * Doc fixes * ability to set Chrome extensions by using base64 encoded strings 4013 * fix logic regarding Select.select_by_visible_text 3910 * Bugs fixed: 6165, 6231 ``` ### 2.35 ``` * Remove duplicate 'get screenshot as file' methods. Add method 'get_screenshot_as_png' * fixing UnicodeEncodeError on get attribute of webelement ``` ### 2.34 ``` * Corrected webdriverbackedselenium session handling. Fixes issue 4283 * Corrected use of basestring for python 3. Fixes issue 5924 * Support for Firefox 22 * Added support for logging from the browser * corrected proxy handling on FirefoxProfile * Corrected handling of chrome extensions. Fixes issue 5762 ``` ### 2.33 ``` * getText() ignores elements in the <head> * Adding both official and informal string representations to Color object. * Replace distutils.dir_util by shutil * Allow finding firefox binary at ProgramFiles(x86) on windows(64 bit) * Py3 compatible winreg import and content-type access ``` ### 2.32 ``` * Support for FF20 Native Events * Python 3 support * Misc Python 3 patches * Allow easy FirefoxBinary subclassing ``` ### 2.31 ``` * Support for FF19 native events * web element equality is now in conformance with other language bindings ``` ### 2.30 ``` * Allow env to be specified for the chromedriver service * Allow log path to be specified for phantomjs driver service. * Bug Fixes: 4608 4940 4974 5034 5075 ``` ### 2.29 ``` * Allow subclassing of driver and have the ability to send_keys Issue 4877, 5017 * Simplifying save_screenshot and allow phantomjs to take screenshots ``` ### 2.28 ``` * "null" can now be passed to executeScript * Add transparent and extended colour keywords to color support module. Fixes issue 4866 ``` ### 2.27 ``` * Added support for phantomjs / ghostdriver * Fix python client, avoid duplicate chrome option items after reusing options class. Fixes Issue 4744. * adding colour support to Python. fixes issue 4623 * Adding log_path/service_log_path as named kwargs for chrome ``` ### 2.26 ``` * Added location_when_scrolled_into_view - Bug 4357 * Added new expected_conditions support module to be used with WebDriverWait ``` ### 2.25 ``` * Jython 2.7 Support - Bug 3988 * EventFiringWebDriver added to Support module - Bug 2267 * Added IEDriverServer logging that can be accessed via desired capabilities * Fixed by data being passed into find_elements - bug 3735 * Removed deprecated ChromeDriver items around desiredcapabilites in favour of chrome options * Added default values for a number of action_chains calls ``` ### 2.24 ``` * Removing the ctypes approach of invoking IEDriver, you will need to download the IEDriverServer from https://code.google.com/p/selenium/downloads/list ``` ### 2.23 ``` * Support for FF13 native events ``` ### 2.22 ``` * Moving IEDriver to be able to use IEDriverServer ``` ### 2.21.3 ``` * Fix for File Upload to remote servers * Better handling of typing in input=file. Bug 3831, 3736 * Better handling of unicode URLS Bug 3740 ``` ### 2.21.2 ``` * Fix typing to file input when not using Selenium Server. Bug 3736 ``` ### 2.21.1 ``` * focusmanager.testmode messes with native events, removing it. ``` ### 2.21 ``` * Local File upload capabilities for non-remote browser * Adding maximize_window api call * Updating default firefox profile to set focusmanager.testmode to true see https://bugzilla.mozilla.org/show_bug.cgi?id=704583 * bugs fixed: 3506, 3528, 3607 ``` ### 2.20 ``` * disable native events for FF on Mac by default * fix webdriverwait to execute at least once when using 0 timeout * Fixed Issue 3438 ``` ### 2.19 ``` * WebDriverBackedSelenium is now avalaible to all languages * Addon installation fixes ``` ### 2.18 ``` * Proxy capabilities passing ``` ### 2.17 ``` * OperaDriver can now be invoked by webdriver.Opera() * Support has been added for ChomeOptions. This deprecates support passing in DesiredCapabilities * Proxy class to tell the browser a proxy is in use. Currently only for Firefox ``` ### 2.16 ``` * bug fixes ``` ### 2.15 ``` * bug fixes ``` ### 2.14 ``` * Fix for LD_PRELOAD being polluted by WebDriver * Added Orientation API * A fix for Error Handling ``` ### 2.13 ``` * Fixed switch_to_window so that it didnt crash Firefox Bug 2633 * Fixed Screenshot handling to work in all browsers. Bug 2829 * Force Firefox to the Foreground ``` ### 2.12 ``` * Added Select as a support pacakge * Added Beta window size / position api's * Bug Fixes ``` ### 2.11.0 ``` * no changes just packaging ``` ### 2.10 ``` * "Choose which apps" dialog has been disabled * Bug Fixes ``` ### 2.9 ``` * Bug Fixes * Documentation ``` ### 2.8 ``` * Actions updates * Bug Fixes ``` ### 2.6 ``` * Documentation fixes ``` ### 2.5 ``` * Fixed x64 IE Support * Bug Fixes ``` ### 2.4 ``` * Bug Fixes * x64 IE Support * Added WebDriverWait as a support package ``` ### 2.3 ``` * Bug Fixes ``` ### 2.2 ``` * Ability to get screenshots from Exceptions if they are given * Access to Remote StackTrace on error ``` ### 2.1 ``` * Bug Fixes Selenium 2 * Removed toggle() and select() Selenium 2 RC 3 * Added Opera to Desired Capabilities * Removed deprecrated methods * Deprecated toggle() and select() methods. This will be removed in the next release Selenium 2 Beta 4 * Fix for using existing Firefox Profiles * Alerts Support in IE * Fix to dictionary returned from size * Deprecated value property. Use the get_attribute("value") method * Deprecated get_page_source method. Use page_source property * Deprecated get_current_window_handle. Use current_window_handle property * Deprecated get_window_handles. Use window_handles property * Ability to install extensions into profiles * Added Location to the WebElement * ChromeDriver rewritten to use new built in mechanism * Added Advanced User Interaction API. Only Available for HTMLUnit at the moment * Profiles now delete their temp folders when driver.quit() is called Selenium 2 Beta 3 * Accept Untrusted Certificates in Firefox * Fixed Screenshots * Added DesiredCapabilities to simplify choosing Drivers * Fixed Firefox Profile creation * Added Firefox 4 support * DocStrings Improvements Selenium 2 Beta 2 * New bindings landed. Change webdriver namespace to "selenium.webdriver" * Ability to move to default content * Implicit Waits * Change the API to use properties instead of get_x * Changed the Element Finding to match other languages * Added ability to execute asynchronous scripts from the driver * Ability to get rendered element size * Ability to get CSS Value on a webelement * Corrected Element finding from the element * Alert and Prompt handling * Improved IEDriver * Basic Authentication support for Selenium 2 * Ability to have multiple Firefox instances ```Links
- PyPI: https://pypi.org/project/selenium - Changelog: https://pyup.io/changelogs/selenium/ - Repo: https://github.com/SeleniumHQ/selenium/