zope.testbrowser

Usage

To use the zope.testbrowser driver, all you need to do is pass the string zope.testbrowser when you create the Browser instance:

from splinter import Browser
browser = Browser('zope.testbrowser')

Note: if you don’t provide any driver to Browser function, firefox will be used.

API docs

class splinter.driver.zopetestbrowser.ZopeTestBrowser(wait_time=2, config: Config | None = None)[source]
back()[source]

The browser will navigate to the previous URL in the history.

If there is no previous URL, this method does nothing.

check(name)[source]

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)[source]

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)[source]

Fill the field identified by name with the content specified by value.

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)[source]

Fill the fields identified by name with the content specified by value 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(locator)[source]

Find an element.

The default strategy used is ‘name’. To change the strategy, see: browser.set_find_strategy()

Parameters:
locator : str

The string used to locate an element.

Returns:

The found element

find_by_css(css_selector)[source]

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)[source]

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_value : str

id to use in the search query.

find_by_name(name)[source]

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)[source]

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)[source]

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)[source]

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)[source]

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)[source]

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)[source]

Find <option> elements by their value.

Returns an instance of ElementList

Parameters:
value : str

value to use in the search query.

forward()[source]

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_selector : 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_selector : 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)[source]

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()[source]

Quit the browser, closing its windows (if it has one).

reload()[source]

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)[source]

Select an <option> element in an <select> element using the name of the <select> and the value of the <option>.

Parameters:
name : str

name of the option element.

value : str

Value to select.

Example

>>> browser.select("state", "NY")
set_find_strategy(strategy)[source]

Change the strategy used by browser.find().

Parameters:
strategy : str

The strategy used for finding elements. Can be one of either: ‘css’, ‘name’, ‘xpath’

Returns:

The current browser instance

Return type:

Browser

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)[source]

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)[source]

Use the browser to navigate to the given URL.

Parameters:
url : str

URL path.