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