Browser

To use Splinter, you must create a Browser instance:

from splinter import Browser
browser = Browser()

Alternatively, you can use a context manager using the with statement:

from splinter import Browser
with Browser() as b:
    # stuff using the browser

This will automatically close the browser before executing the code outside the with statement.

Browser() takes the following names, each mapped to a different driver:

For example:

browser = Browser('chrome')

You can use the visit method to navigate to other pages:

browser.visit('http://cobrateam.info')

The visit method takes only a single parameter - the url to be visited.

You can visit a site protected with basic HTTP authentication by providing the username and password in the url.

browser.visit('http://username:password@cobrateam.info/protected')

Managing Windows

You can manage multiple windows (such as popups) through the windows object:

browser.windows              # all open windows
browser.windows[0]           # the first window
browser.windows[window_name] # the window_name window
browser.windows.current      # the current window
browser.windows.current = browser.windows[3]  # set current window to window 3

window = browser.windows[0]
window.is_current            # boolean - whether window is current active window
window.is_current = True     # set this window to be current window
window.next                  # the next window
window.prev                  # the previous window
window.close()               # close this window
window.close_others()        # close all windows except this one

This window management interface is not compatible with the undocumented interface exposed in v0.6.0 and earlier.

Reload a page

You can reload a page using the reload method:

browser.reload()

You can move back and forward through your browsing history using the back and forward methods:

browser.visit('http://cobrateam.info')
browser.visit('https://splinter.readthedocs.io')
browser.back()
browser.forward()

Browser.title

You can get the title of the visited page using the title attribute:

browser.title

Verifying page content with Browser.html

You can use the html attribute to get the html content of the visited page:

browser.html

Verifying page url with Browser.url

The visited page’s url can be accessed by the url attribute:

browser.url

Changing Browser User-Agent

You can pass a User-Agent header on Browser instantiation.

b = Browser(user_agent="Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en)")