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 isnt one passed in as a kwarg or capability * Applied some DRY and extracted out the keys_to_typing() * Fix deselecting options in