Remote WebDriver¶
Remote WebDriver is provided by Selenium. To use it, you need to install Selenium via pip:
$ [sudo] pip install selenium
Setting up the Remote WebDriver¶
To use Remote WebDriver, you need to have access to a Selenium remote WebDriver server. Setting up one of these servers is beyond the scope of this document. However, some companies provide access to a Selenium Grid as a service.
Using the Remote WebDriver¶
To use the Remote WebDriver, use driver_name="remote"
when you create the Browser
instance.
The browser_name
argument should then be used to specify the web browser.
The other arguments match Selenium’s Remote WebDriver arguments.
Desired Capabilities will be set automatically based on Selenium’s defaults. These can be expanded and/or replaced by providing your own.
The following example uses Sauce Labs (a company that provides Selenium Remote WebDriver servers as a service) to request an Internet Explorer 9 browser instance running on Windows 7.
# Specify the server URL
remote_server_url = 'http://YOUR_SAUCE_USERNAME:YOUR_SAUCE_ACCESS_KEY@ondemand.saucelabs.com:80/wd/hub'
with Browser(
driver_name="remote",
browser='internetexplorer',
command_executor=remote_server_url,
desired_capabilities = {
'platform': 'Windows 7',
'version': '9',
'name': 'Test of IE 9 on WINDOWS',
},
keep_alive=True,
) as browser:
print("Link to job: https://saucelabs.com/jobs/{}".format(
browser.driver.session_id))
browser.visit("https://splinter.readthedocs.io")
browser.find_by_text('documentation').first.click()