To use the django driver, you need to install django,
lxml and cssselect.
You can install all of them in one step by running:
$ pip install splinter[django]
Using django client¶
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)¶ -
back()¶ Back to the last URL in the browsing history.
If there is no URL to back, this method does nothing.
-
check(name)¶ Checks a checkbox by its name.
Example:
>>> browser.check("agree-with-terms")
If you call
browser.checkn times, the checkbox keeps checked, it never get unchecked.To unckech a checkbox, take a look in the
uncheckmethod.
-
choose(name, value)¶ Chooses a value in a radio buttons group.
Suppose you have the two radio buttons in a page, with the name
genderand values ‘F’ and ‘M’. If you use thechoosemethod the following way:>>> browser.choose('gender', 'F')
Then you’re choosing the female gender.
-
click_link_by_href(href)¶ Clicks in a link by its
hrefattribute.
-
click_link_by_partial_href(partial_href)¶ Clicks in a link by looking for partial content of
hrefattribute.
-
click_link_by_partial_text(partial_text)¶ Clicks in a link by partial content of its text.
-
click_link_by_text(text)¶ Clicks in a link by its
text.
A
CookieManagerinstance.For more details, check the cookies manipulation section.
-
ensure_success_response()¶ Guarantee the success on response.
If response is not success, raises an
HttpResponseErrorexception.
-
evaluate_script(script)¶ Similar to
execute_scriptmethod.Executes javascript in the browser and returns the value of the expression.
- e.g.: ::
>>> assert 4 == browser.evaluate_script('2 + 2')
-
execute_script(script)¶ Executes a given JavaScript in the browser.
- e.g.: ::
>>> browser.execute_script('document.getElementById("body").innerHTML = "<p>Hello world!</p>"')
-
fill(name, value)¶ Fill the field identified by
namewith the content specified byvalue.
-
fill_form(field_values)¶ Fill the fields identified by
namewith the content specified byvaluein 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_by_css(selector)¶ Returns an instance of
ElementList, using a CSS selector to query the current page content.
-
find_by_id(id_value)¶ Finds an element in current page by its id.
Even when only one element is find, this method returns an instance of
ElementList
-
find_by_name(name)¶ Finds elements in current page by their name.
Returns an instance of
ElementList.
-
find_by_tag(tag)¶ Find all elements of a given tag in current page.
Returns an instance of
ElementList
-
find_by_value(value)¶ Finds elements in current page by their value.
Returns an instance of
ElementList
-
find_by_xpath(xpath, original_find=None, original_selector=None)¶ Returns an instance of
ElementList, using a xpath selector to query the current page content.
-
find_link_by_href(href)¶ Find all elements of a given tag in current page.
Returns an instance of
ElementList
-
find_link_by_partial_href(partial_href)¶ Find links by looking for a partial
strin their href attribute.Returns an instance of
ElementList
-
find_link_by_partial_text(partial_text)¶ Find links by looking for a partial
strin their text.Returns an instance of
ElementList
-
find_link_by_text(text)¶ Find links querying for their text.
Returns an instance of
ElementList
-
find_option_by_text(text)¶ Finds
<option>elements by their text.Returns an instance of
ElementList
-
find_option_by_value(value)¶ Finds
<option>elements by their value.Returns an instance of
ElementList
-
forward()¶ Forward to the next URL in the browsing history.
If there is no URL to forward, this method does nothing.
-
get_alert()¶ Changes the context for working with alerts and prompts.
For more details, check the docs about iframes, alerts and prompts
-
get_iframe(name)¶ Changes the context for working with iframes.
For more details, check the docs about iframes, alerts and prompts
-
html¶ Source of current page.
-
is_element_not_present_by_css(css_selector, wait_time=None)¶ Verify if the element is not present in the current page by css, and wait the specified time in
wait_time.Returns True if the element is not present and False if is present.
-
is_element_not_present_by_id(id, wait_time=None)¶ Verify if the element is present in the current page by id, and wait the specified time in
wait_time.Returns True if the element is not present and False if is present.
-
is_element_not_present_by_name(name, wait_time=None)¶ Verify if the element is not present in the current page by name, and wait the specified time in
wait_time.Returns True if the element is not present and False if is present.
-
is_element_not_present_by_tag(tag, wait_time=None)¶ Verify if the element is not present in the current page by tag, and wait the specified time in
wait_time.Returns True if the element is not present and False if is present.
-
is_element_not_present_by_value(value, wait_time=None)¶ Verify if the element is not present in the current page by value, and wait the specified time in
wait_time.Returns True if the element is not present and False if is present.
-
is_element_not_present_by_xpath(xpath, wait_time=None)¶ Verify if the element is not present in the current page by xpath, and wait the specified time in
wait_time.Returns True if the element is not present and False if is present.
-
is_element_present_by_css(css_selector, wait_time=None)¶ Verify if the element is present in the current page by css, and wait the specified time in
wait_time.Returns True if the element is present and False if is not present.
-
is_element_present_by_id(id, wait_time=None)¶ Verify if the element is present in the current page by id, and wait the specified time in
wait_time.Returns True if the element is present and False if is not present.
-
is_element_present_by_name(name, wait_time=None)¶ Verify if the element is present in the current page by name, and wait the specified time in
wait_time.Returns True if the element is present and False if is not present.
-
is_element_present_by_tag(tag, wait_time=None)¶ Verify if the element is present in the current page by tag, and wait the specified time in
wait_time.Returns True if the element is present and False if is not present.
-
is_element_present_by_value(value, wait_time=None)¶ Verify if the element is present in the current page by value, and wait the specified time in
wait_time.Returns True if the element is present and False if is not present.
-
is_element_present_by_xpath(xpath, wait_time=None)¶ Verify if the element is present in the current page by xpath, and wait the specified time in
wait_time.Returns True if the element is present and False if is not present.
-
is_text_present(text, wait_time=None)¶ Searchs for
textin the browser and wait the seconds specified inwait_time.Returns True if finds a match for the
textand False if not.
-
quit()¶ Quits the browser, closing its windows (if it has one).
After quit the browser, you can’t use it anymore.
-
reload()¶ Revisits the current URL
-
screenshot(name=None, suffix=None)¶ Takes a screenshot of the current page and saves it locally.
-
select(name, value)¶ Selects an
<option>element in an<select>element using thenameof the<select>and thevalueof the<option>.Example:
>>> browser.select("state", "NY")
-
title¶ Title of current page.
-
type(name, value, slowly=False)¶ Types the
valuein the field identified byname.It’s useful to test javascript events like keyPress, keyUp, keyDown, etc.
-
uncheck(name)¶ Unchecks a checkbox by its name.
Example:
>>> browser.uncheck("send-me-emails")
If you call
brower.uncheckn times, the checkbox keeps unchecked, it never get checked.To check a checkbox, take a look in the
checkmethod.
-
url¶ URL of current page.
-
visit(url)¶ Visits a given URL.
The
urlparameter is a string.
-