Django¶
Usage¶
To use the django
driver, all you need to do is pass the string django
when you create
the Browser
instance:
from splinter import Browser
browser = Browser('django')
Note: if you don’t provide any driver to Browser
function, firefox
will be used.
API docs¶
- class splinter.driver.djangoclient.DjangoClient(user_agent=None, wait_time=2, config: Config | None = None, **kwargs)¶
- 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.
- Parameters:
name (str) – name of the element to check.
Example
>>> browser.check("agree-with-terms")
If you call
browser.check
n times, the checkbox keeps checked, it never get unchecked.To uncheck a checkbox, take a look in the
uncheck
method.
- choose(name, value)¶
Choose a value in a radio buttons group.
- Parameters:
name (str) – name of the element to enter text into.
value (str) – Value to choose.
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.
- fill(name, value)¶
Fill the field identified by
name
with the content specified byvalue
.- Parameters:
name (str) – name of the element to enter text into.
value (str) – Value to enter into the element.
- 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.
- Parameters:
field_values (dict) – Values for all the fields in the form, in the pattern of {field name: field value}
form_id (str) – Id of the form to fill. Can be used instead of name.
name (str) – Name of the form to fill.
ignore_missing (bool) – Ignore missing keys in the dict.
- find_by_css(selector)¶
Return an instance of
ElementList
, using a CSS selector to query the current page content.- Parameters:
css_selector (str) – CSS Selector to use in the search query.
- find_by_id(id_value)¶
Find an element on the current page by its id.
Even when only one element is find, this method returns an instance of
ElementList
- Parameters:
id (str) – id to use in the search query.
- find_by_name(name)¶
Find elements on the current page by their name.
Return an instance of
ElementList
.- Parameters:
name (str) – name to use in the search query.
- find_by_tag(tag)¶
Find all elements of a given tag in current page.
Returns an instance of
ElementList
- Parameters:
tag (str) – tag to use in the search query.
- find_by_text(text)¶
Find elements on the current page by their text.
Returns an instance of
ElementList
- Parameters:
text (str) – text to use in the search query.
- find_by_value(value)¶
Find elements on the current page by their value.
Returns an instance of
ElementList
- Parameters:
value (str) – value to use in the search query.
- find_by_xpath(xpath, original_find=None, original_query=None)¶
Return an instance of
ElementList
, using a xpath selector to query the current page content.- Parameters:
xpath (str) – Xpath to use in the search query.
- find_option_by_text(text)¶
Finds
<option>
elements by their text.Returns an instance of
ElementList
- Parameters:
text (str) – text to use in the search query.
- find_option_by_value(value)¶
Find
<option>
elements by their value.Returns an instance of
ElementList
- Parameters:
value (str) – value to use in the search query.
- 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() Any ¶
Change the context for working with alerts and prompts.
For more details, check the docs about iframes, alerts and prompts
- get_iframe(name: Any) Any ¶
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: str = '', suffix: str = '.html', encoding: str = 'utf-8', unique_file: bool = True) str ¶
Write the current html to a file.
- Parameters:
name (str) – File name.
suffix (str) – File extension.
encoding (str) – File encoding.
unique_file (str) – 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 html snapshot.
- Return type:
str
- is_element_not_present_by_css(css_selector, wait_time=None)¶
Verify if an element is not present in the current page.
- Parameters:
css (str) – css selector for the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is not present and False if is present.
- Return type:
bool
- is_element_not_present_by_id(id, wait_time=None)¶
Verify if an element is not present in the current page.
- Parameters:
id (str) – id for the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is not present and False if is present.
- Return type:
bool
- is_element_not_present_by_name(name, wait_time=None)¶
Verify if an element is not present in the current page.
- Parameters:
name (str) – name of the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is not present and False if is present.
- Return type:
bool
- is_element_not_present_by_tag(tag, wait_time=None)¶
Verify if an element is not present in the current page.
- Parameters:
tag (str) – tag of the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is not present and False if is present.
- Return type:
bool
- is_element_not_present_by_text(text, wait_time=None)¶
Verify if an element is not present in the current page.
- Parameters:
text (str) – text in the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is not present and False if is present.
- Return type:
bool
- is_element_not_present_by_value(value, wait_time=None)¶
Verify if an element is not present in the current page.
- Parameters:
value (str) – value in the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is not present and False if is present.
- Return type:
bool
- is_element_not_present_by_xpath(xpath, wait_time=None)¶
Verify if an element is not present in the current page.
- Parameters:
xpath (str) – xpath of the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is not present and False if is present.
- Return type:
bool
- is_element_present_by_css(css_selector, wait_time=None)¶
Verify if an element is present in the current page.
- Parameters:
css (str) – css selector for the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is present and False if is not present.
- Return type:
bool
- is_element_present_by_id(id, wait_time=None)¶
Verify if an element is present in the current page.
- Parameters:
id (str) – id for the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is present and False if is not present.
- Return type:
bool
- is_element_present_by_name(name, wait_time=None)¶
Verify if an element is present in the current page.
- Parameters:
name (str) – name of the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is present and False if is not present.
- Return type:
bool
- is_element_present_by_tag(tag, wait_time=None)¶
Verify if an element is present in the current page.
- Parameters:
tag (str) – tag of the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is present and False if is not present.
- Return type:
bool
- is_element_present_by_text(text, wait_time=None)¶
Verify if an element is present in the current page.
- Parameters:
text (str) – text in the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is present and False if is not present.
- Return type:
bool
- is_element_present_by_value(value, wait_time=None)¶
Verify if an element is present in the current page.
- Parameters:
value (str) – value in the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is present and False if is not present.
- Return type:
bool
- is_element_present_by_xpath(xpath, wait_time=None)¶
Verify if an element is present in the current page.
- Parameters:
xpath (str) – xpath of the element.
wait_time (int) – Number of seconds to search.
- Returns:
True if the element is present and False if is not present.
- Return type:
bool
- is_text_present(text, wait_time=None)¶
Check if a piece of text is on the page.
- Parameters:
text (str) – text to use in the search query.
wait_time (int) – Number of seconds to search for the text.
- Returns:
True if finds a match for the
text
and False if not.- Return type:
bool
- new_tab(url: str) None ¶
The browser will navigate to the given URL in a new tab.
- Parameters:
url (str) – URL path.
- quit()¶
Quit the browser, closing its windows (if it has one).
- reload()¶
Revisits the current URL.
- screenshot(name: str | None = None, suffix: str | None = None, full: bool = False, unique_file: bool = True) str ¶
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>
.- Parameters:
name (str) – name of the option element.
value (str) – Value to select.
Example
>>> browser.select("state", "NY")
- property title¶
Title of current page.
- type(name: str, value: str, slowly: bool = False) str ¶
Type a value into an element.
It’s useful to test javascript events like keyPress, keyUp, keyDown, etc.
- Parameters:
name (str) – name of the element to enter text into.
value (str) – Value to enter into the element.
slowly (bool) – If True, this function returns an iterator which will type one character per iteration.
- uncheck(name)¶
Uncheck a checkbox by its name.
- Parameters:
name (str) – name of the element to uncheck.
Example
>>> browser.uncheck("send-me-emails")
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.
- visit(url)¶
Use the browser to navigate to the given URL.
- Parameters:
url (str) – URL path.