Selenium 4.3.0 * Deprecated find_element_by_* and find_elements_by_* are now removed (#10712) * Deprecated Opera support has been removed (#10630) * Fully upgraded from python 2x to 3.7 syntax and features (#10647) * Added a devtools version fallback mechanism to look for an older version when mismatch occurs (#10749) * Better support for co-operative multi inheritance by utilising super() throughout * Improved type hints throughout 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 * 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 * 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