Edge WebDriver¶
Usage¶
To use the Edge driver, pass the string edge
when you create
the Browser
instance:
from splinter import Browser
browser = Browser('edge')
Edge Options¶
Selenium Options can be passed to customize Edge’s behaviour through the
EdgeOptions
object
from selenium.webdriver.edge.options import Options
from splinter import Browser
mobile_emulation = {"deviceName": "Google Nexus 5"}
edge_options = Options()
browser = Browser('edge', options=edge_options)
Emulation mode¶
Since Selenium options can be passed to customize Edge’s behaviour; it is then possible to leverage the experimental emulation mode.
from selenium.webdriver.edge.options import Options
from splinter import Browser
mobile_emulation = {"deviceName": "Google Nexus 5"}
edge_options = Options()
edge_options.add_experimental_option(
"mobileEmulation", mobile_emulation,
)
browser = Browser('edge', options=edge_options)
Service¶
Selenium uses the Service class to manage edgedriver. An instance of this class can be given directly to Splinter.
from splinter import Browser
from selenium.webdriver.chrome.service import Service
my_service = Service()
browser = Browser('chrome', service=my_service)
Custom executable path¶
The Service object can be used to specify the path to edgedriver. For example:
from splinter import Browser
from selenium.webdriver.edge.service import Service
my_service = Service(executable_path='</path/to/edgedriver>')
browser = Browser('edge', service=my_service)
Edge Legacy¶
By default, Edge WebDriver is configured to use versions of Edge built with Chromium (Version 79 and up).
To use Edge Legacy, pass the chromium argument when creating a new Browser instance.
This requires the correct version of Edge and Edge Driver to be installed.
from splinter import Browser
browser = Browser('edge', chromium=False)
API docs¶
-
class splinter.driver.webdriver.edge.WebDriver(options=
None
, user_agent=None
, wait_time=2
, fullscreen=False
, incognito=False
, headless=False
, chromium=True
, service: Service | None =None
, config: Config | None =None
, **kwargs)[source]¶ -
- back()¶
The browser will navigate to the previous URL in the history.
If there is no previous URL, this method does nothing.
- check(name)¶
Check a checkbox by its name.
If you call
browser.check
n times, the checkbox keeps checked, it never get unchecked.To uncheck a checkbox, see the
uncheck
method.Example
>>> browser.check("some-check")
- choose(name, value)¶
Choose a value in a radio buttons group.
Example
You have two radio buttons in a page, with the name
gender
and values ‘F’ and ‘M’.>>> browser.choose('gender', 'F')
Then the female gender will be chosen.
- property cookies¶
A
CookieManager
instance.For more details, check the cookies manipulation section.
- evaluate_script(script, *args)¶
Similar to
execute_script
method.Execute javascript in the browser and return the value of the expression.
Example
>>> assert 4 == browser.evaluate_script('2 + 2')
- execute_script(script, *args)¶
Execute a piece of JavaScript in the browser.
Example
>>> browser.execute_script('document.getElementById("body").innerHTML = "<p>Hello world!</p>"')
-
fill_form(field_values, form_id=
None
, name=None
, ignore_missing=False
)¶ Fill the fields identified by
name
with the content specified byvalue
in a dict.Currently, fill_form supports the following fields: text, password, textarea, checkbox, radio and select.
Checkboxes should be specified as a boolean in the dict.
- find(locator)¶
Find an element.
The default strategy used is ‘name’. To change the strategy, see: browser.set_find_strategy()
-
find_by(finder, finder_kwargs=
None
, original_find: str | None =None
, original_query: str | None =None
, wait_time: int | None =None
)¶ Wrapper for finding elements.
Must be attached to a class.
- Returns:¶
ElementList
-
find_by_css(css_selector, wait_time=
None
)¶ Return an instance of
ElementList
, using a CSS selector to query the current page content.
-
find_by_id(id_value, wait_time=
None
)¶ Find an element on the current page by its id.
Even when only one element is find, this method returns an instance of
ElementList
-
find_by_name(name, wait_time=
None
)¶ Find elements on the current page by their name.
Return an instance of
ElementList
.
-
find_by_tag(tag, wait_time=
None
)¶ Find all elements of a given tag in current page.
Returns an instance of
ElementList
-
find_by_text(text=
None
, wait_time=None
)¶ Find elements on the current page by their text.
Returns an instance of
ElementList
-
find_by_value(value, wait_time=
None
)¶ Find elements on the current page by their value.
Returns an instance of
ElementList
-
find_by_xpath(xpath, original_find=
'xpath'
, original_query=None
, wait_time=None
)¶ Return an instance of
ElementList
, using a xpath selector to query the current page content.
- find_option_by_text(text)¶
Finds
<option>
elements by their text.Returns an instance of
ElementList
- find_option_by_value(value)¶
Find
<option>
elements by their value.Returns an instance of
ElementList
- forward()¶
The browser will navigate to the next URL in the history.
If there is no URL to forward, this method does nothing.
-
get_alert(wait_time=
None
)¶ Change the context for working with alerts and prompts.
For more details, check the docs about iframes, alerts and prompts
- get_iframe(frame_reference)¶
Change the context for working with iframes.
For more details, check the docs about iframes, alerts and prompts
- property html¶
Source of current page.
-
html_snapshot(name=
''
, suffix='.html'
, encoding='utf-8'
, unique_file=True
)¶ Write the current html to a file.
-
is_element_not_present_by_css(css_selector, wait_time=
None
)¶ Verify if an element is not present in the current page.
-
is_element_not_present_by_id(id, wait_time=
None
)¶ Verify if an element is not present in the current page.
-
is_element_not_present_by_name(name, wait_time=
None
)¶ Verify if an element is not present in the current page.
-
is_element_not_present_by_tag(tag, wait_time=
None
)¶ Verify if an element is not present in the current page.
-
is_element_not_present_by_text(text, wait_time=
None
)¶ Verify if an element is not present in the current page.
-
is_element_not_present_by_value(value, wait_time=
None
)¶ Verify if an element is not present in the current page.
-
is_element_not_present_by_xpath(xpath, wait_time=
None
)¶ Verify if an element is not present in the current page.
-
is_element_present_by_css(css_selector, wait_time=
None
)¶ Verify if an element is present in the current page.
-
is_element_present_by_name(name, wait_time=
None
)¶ Verify if an element is present in the current page.
-
is_element_present_by_tag(tag, wait_time=
None
)¶ Verify if an element is present in the current page.
-
is_element_present_by_text(text, wait_time=
None
)¶ Verify if an element is present in the current page.
-
is_element_present_by_value(value, wait_time=
None
)¶ Verify if an element is present in the current page.
-
is_element_present_by_xpath(xpath, wait_time=
None
)¶ Verify if an element is present in the current page.
- quit()¶
Quit the browser, closing its windows (if it has one).
- reload()¶
Revisits the current URL.
-
screenshot(name=
''
, suffix='.png'
, full=False
, unique_file=True
)¶ Take a screenshot of the current page and save it locally.
- Parameters:¶
- name : str¶
File name for the screenshot.
- suffix : str¶
File extension for the screenshot.
- full : bool¶
If the screenshot should be full screen or not.
- unique_file : bool¶
If true, the filename will include a path to the system temp directory and extra characters at the end to ensure the file is unique.
- Returns:¶
Full file name of the created screenshot.
- Return type:¶
str
- select(name, value)¶
Select an
<option>
element in an<select>
element using thename
of the<select>
and thevalue
of the<option>
.Example
>>> browser.select("pets", "cat")
- property title¶
Title of current page.
-
type(name, value, slowly=
False
)¶ Type a value into an element.
It’s useful to test javascript events like keyPress, keyUp, keyDown, etc.
- uncheck(name)¶
Uncheck a checkbox by its name.
Example
>>> browser.uncheck("some-check")
If you call
brower.uncheck
n times, the checkbox keeps unchecked, it never get checked.To check a checkbox, take a look in the
check
method.
- property url¶
URL of current page.