Splinter
0.21.0

Overview

  • Why Use Splinter?
    • Example
  • Changelog
    • [0.21.0]
      • Changed
    • [0.20.1]
      • Fixed
    • [0.20.0]
      • Changed
      • Fixed
    • [0.19.0]
      • Added
      • Changed
      • Fixed
    • [0.18.1]
      • Changed
      • Fixed
    • [0.18.0]
      • Added
      • Changed
      • Fixed
    • [0.17.0]
      • Backward incompatible changes
    • [0.16.0]
      • Backward incompatible changes
    • [0.15.0]
    • [0.14.0]
    • [0.13.0]
    • [0.12.0]
    • [0.11.0]
    • [0.10.0]
    • [0.9.0]
    • [0.8.0]
    • [0.7.7]
    • [0.7.6]
    • [0.7.5]
    • [0.7.4]
      • Backward incompatible changes
    • [0.7.3]
      • django client
    • [0.7.2]
    • [0.7.1]
    • [0.7.0]
      • Features
      • Bugfix
    • [0.6.0]
      • Features
    • [0.5.5]
      • Improvements
    • [0.5.4]
      • Improvement
      • Bugfix
    • [0.5.3]
      • Improvement
      • Bugfix
    • [0.5.2]
      • Improvements
    • [0.5.0]
      • Features
      • Bugfix
    • [0.4.10]
      • Improvements
      • Bugfix
    • [0.4.9]
      • Features
      • Bugfix
    • [0.4.8]
      • Features
    • [0.4.7]
      • Features
      • Bugfixes and improvements
    • [0.4.4.1]
      • Bugfixes
    • [0.4.4]
      • Features
      • Bugfixes
    • [0.4.3]
      • Features
    • [0.4.2]
      • Features
      • Bugfixes
    • [0.4.1]
      • Features
    • [0.4.0]
      • Features
      • Documentation improvements
      • Deprecations
      • IMPORTANT
    • [0.3.0]
      • Features
      • Documentation improvements
      • Backward incompatible changes
      • Bugfixes
    • [0.2.0]
      • Features
      • Backward incompatible changes
    • [0.1.1]
    • [0.1.0]
      • Features
      • Bugfixes
      • Backward incompatible changes
    • [0.0.3]
      • Features
      • Backward incompatible changes
    • [0.0.2]
      • Features
      • Backward incompatible changes
    • [0.0.1]
      • Features
  • Tutorial
    • Create a Browser instance
    • Visit a website
    • Find an element
    • Input text
    • Click a button
    • Check for results
    • Close the browser

Installation Guide

  • Install Splinter
    • Basic Requirements
    • Latest version via pip
      • Install With Driver Dependencies
    • From Source Code
  • Drivers
    • Selenium-based Drivers
    • Django
    • Flask
    • zope.testbrowser
  • Required Applications
    • Chrome
      • Install
        • Mac OS X
        • Linux
        • Linux 64bits
        • Windows
    • Firefox
      • Mac OS X
    • Edge
      • Mac OS X
      • Linux

Browsing and Interactions

  • Browser
    • Navigating with Browser.visit
    • Managing Windows
    • Reload a page
    • Navigate through the history
    • Browser.title
    • Verifying page content with Browser.html
    • Verifying page url with Browser.url
    • Changing Browser User-Agent
  • Config
    • Config
      • Config.extensions
      • Config.fullscreen
      • Config.headless
      • Config.incognito
      • Config.user_agent
  • Find Elements
    • Get Element by Index
    • About browser.find_by_id()
    • Finding links
    • Chaining find of elements
    • ElementDoesNotExist exception
  • Interact with Elements
    • Get value
    • Clicking links
    • Clicking buttons
    • Interacting with forms
    • Verifying if element is visible or invisible
    • Verifying if element has a className
    • Interacting with elements through a ElementList object
    • Get the shadow root of an element
  • Mouse interactions
    • mouse_over
    • mouse_out
    • click
    • double_click
    • right_click
    • drag_and_drop
  • Matchers
    • Checking the presence of text
    • Checking the presence of elements
    • Checking the visibility of elements
  • Handle Cookies
    • Add a cookie
    • Retrieve all cookies
    • Delete a cookie
    • Delete all cookies
      • Extra Arguments
  • Screenshot
    • Element Screenshot
  • HTML Snapshot
  • Execute JavaScript
    • Example: Manipulate text fields with JavaScript
  • Selenium Keys
  • Frames, alerts and prompts
    • Using iframes
    • Handling alerts and prompts
  • HTTP Status Code and Exceptions
    • Dealing with HTTP status code
  • HTTP Proxies
    • Using an unauthenticated HTTP proxy with Firefox
    • Authenticated HTTP proxy with Firefox
  • API Documentation
    • Browser
      • Browser()
    • DriverAPI
      • DriverAPI
        • DriverAPI.back()
        • DriverAPI.check()
        • DriverAPI.choose()
        • DriverAPI.cookies
        • DriverAPI.evaluate_script()
        • DriverAPI.execute_script()
        • DriverAPI.fill()
        • DriverAPI.fill_form()
        • DriverAPI.find_by_css()
        • DriverAPI.find_by_id()
        • DriverAPI.find_by_name()
        • DriverAPI.find_by_tag()
        • DriverAPI.find_by_text()
        • DriverAPI.find_by_value()
        • DriverAPI.find_by_xpath()
        • DriverAPI.find_option_by_text()
        • DriverAPI.find_option_by_value()
        • DriverAPI.forward()
        • DriverAPI.get_alert()
        • DriverAPI.get_iframe()
        • DriverAPI.html
        • DriverAPI.html_snapshot()
        • DriverAPI.is_element_not_present_by_css()
        • DriverAPI.is_element_not_present_by_id()
        • DriverAPI.is_element_not_present_by_name()
        • DriverAPI.is_element_not_present_by_tag()
        • DriverAPI.is_element_not_present_by_text()
        • DriverAPI.is_element_not_present_by_value()
        • DriverAPI.is_element_not_present_by_xpath()
        • DriverAPI.is_element_present_by_css()
        • DriverAPI.is_element_present_by_id()
        • DriverAPI.is_element_present_by_name()
        • DriverAPI.is_element_present_by_tag()
        • DriverAPI.is_element_present_by_text()
        • DriverAPI.is_element_present_by_value()
        • DriverAPI.is_element_present_by_xpath()
        • DriverAPI.is_text_present()
        • DriverAPI.new_tab()
        • DriverAPI.quit()
        • DriverAPI.reload()
        • DriverAPI.screenshot()
        • DriverAPI.select()
        • DriverAPI.title
        • DriverAPI.type()
        • DriverAPI.uncheck()
        • DriverAPI.url
        • DriverAPI.visit()
    • ElementAPI
      • ElementAPI
        • ElementAPI.check()
        • ElementAPI.checked
        • ElementAPI.clear()
        • ElementAPI.click()
        • ElementAPI.fill()
        • ElementAPI.has_class()
        • ElementAPI.is_not_visible()
        • ElementAPI.is_visible()
        • ElementAPI.mouse_out()
        • ElementAPI.mouse_over()
        • ElementAPI.screenshot()
        • ElementAPI.select()
        • ElementAPI.shadow_root
        • ElementAPI.text
        • ElementAPI.type()
        • ElementAPI.uncheck()
        • ElementAPI.value
        • ElementAPI.visible
    • CookieManager
      • CookieManagerAPI
        • CookieManagerAPI.add()
        • CookieManagerAPI.all()
        • CookieManagerAPI.delete()
        • CookieManagerAPI.delete_all()
    • ElementList
      • ElementList
        • ElementList.first
        • ElementList.is_empty()
        • ElementList.last
    • Request handling
      • StatusCode
        • StatusCode.code
        • StatusCode.is_success()
        • StatusCode.reason
    • Exceptions
      • DriverNotFoundError
      • ElementDoesNotExist

Driver APIs

  • Chrome WebDriver
    • Usage
      • Emulation mode
      • Service
        • Custom executable path
    • API docs
      • WebDriver
        • WebDriver.attach_file()
        • WebDriver.back()
        • WebDriver.check()
        • WebDriver.choose()
        • WebDriver.cookies
        • WebDriver.evaluate_script()
        • WebDriver.execute_script()
        • WebDriver.fill()
        • WebDriver.fill_form()
        • WebDriver.find_by()
        • WebDriver.find_by_css()
        • WebDriver.find_by_id()
        • WebDriver.find_by_name()
        • WebDriver.find_by_tag()
        • WebDriver.find_by_text()
        • WebDriver.find_by_value()
        • WebDriver.find_by_xpath()
        • WebDriver.find_option_by_text()
        • WebDriver.find_option_by_value()
        • WebDriver.forward()
        • WebDriver.get_alert()
        • WebDriver.get_iframe()
        • WebDriver.html
        • WebDriver.html_snapshot()
        • WebDriver.is_element_not_present_by_css()
        • WebDriver.is_element_not_present_by_id()
        • WebDriver.is_element_not_present_by_name()
        • WebDriver.is_element_not_present_by_tag()
        • WebDriver.is_element_not_present_by_text()
        • WebDriver.is_element_not_present_by_value()
        • WebDriver.is_element_not_present_by_xpath()
        • WebDriver.is_element_present_by_css()
        • WebDriver.is_element_present_by_id()
        • WebDriver.is_element_present_by_name()
        • WebDriver.is_element_present_by_tag()
        • WebDriver.is_element_present_by_text()
        • WebDriver.is_element_present_by_value()
        • WebDriver.is_element_present_by_xpath()
        • WebDriver.is_text_present()
        • WebDriver.new_tab()
        • WebDriver.quit()
        • WebDriver.reload()
        • WebDriver.screenshot()
        • WebDriver.select()
        • WebDriver.title
        • WebDriver.type()
        • WebDriver.uncheck()
        • WebDriver.url
        • WebDriver.visit()
  • Firefox WebDriver
    • Usage
      • Service
        • Custom executable path
      • Specify Profile
      • Selenium Capabilities
    • API docs
      • WebDriver
        • WebDriver.attach_file()
        • WebDriver.back()
        • WebDriver.check()
        • WebDriver.choose()
        • WebDriver.cookies
        • WebDriver.evaluate_script()
        • WebDriver.execute_script()
        • WebDriver.fill()
        • WebDriver.fill_form()
        • WebDriver.find_by()
        • WebDriver.find_by_css()
        • WebDriver.find_by_id()
        • WebDriver.find_by_name()
        • WebDriver.find_by_tag()
        • WebDriver.find_by_text()
        • WebDriver.find_by_value()
        • WebDriver.find_by_xpath()
        • WebDriver.find_option_by_text()
        • WebDriver.find_option_by_value()
        • WebDriver.forward()
        • WebDriver.get_alert()
        • WebDriver.get_iframe()
        • WebDriver.html
        • WebDriver.html_snapshot()
        • WebDriver.is_element_not_present_by_css()
        • WebDriver.is_element_not_present_by_id()
        • WebDriver.is_element_not_present_by_name()
        • WebDriver.is_element_not_present_by_tag()
        • WebDriver.is_element_not_present_by_text()
        • WebDriver.is_element_not_present_by_value()
        • WebDriver.is_element_not_present_by_xpath()
        • WebDriver.is_element_present_by_css()
        • WebDriver.is_element_present_by_id()
        • WebDriver.is_element_present_by_name()
        • WebDriver.is_element_present_by_tag()
        • WebDriver.is_element_present_by_text()
        • WebDriver.is_element_present_by_value()
        • WebDriver.is_element_present_by_xpath()
        • WebDriver.is_text_present()
        • WebDriver.new_tab()
        • WebDriver.quit()
        • WebDriver.reload()
        • WebDriver.screenshot()
        • WebDriver.select()
        • WebDriver.title
        • WebDriver.type()
        • WebDriver.uncheck()
        • WebDriver.url
        • WebDriver.visit()
  • Edge WebDriver
    • Usage
      • Edge Options
      • Emulation mode
      • Service
        • Custom executable path
      • Edge Legacy
    • API docs
      • WebDriver
        • WebDriver.attach_file()
        • WebDriver.back()
        • WebDriver.check()
        • WebDriver.choose()
        • WebDriver.cookies
        • WebDriver.evaluate_script()
        • WebDriver.execute_script()
        • WebDriver.fill()
        • WebDriver.fill_form()
        • WebDriver.find_by()
        • WebDriver.find_by_css()
        • WebDriver.find_by_id()
        • WebDriver.find_by_name()
        • WebDriver.find_by_tag()
        • WebDriver.find_by_text()
        • WebDriver.find_by_value()
        • WebDriver.find_by_xpath()
        • WebDriver.find_option_by_text()
        • WebDriver.find_option_by_value()
        • WebDriver.forward()
        • WebDriver.get_alert()
        • WebDriver.get_iframe()
        • WebDriver.html
        • WebDriver.html_snapshot()
        • WebDriver.is_element_not_present_by_css()
        • WebDriver.is_element_not_present_by_id()
        • WebDriver.is_element_not_present_by_name()
        • WebDriver.is_element_not_present_by_tag()
        • WebDriver.is_element_not_present_by_text()
        • WebDriver.is_element_not_present_by_value()
        • WebDriver.is_element_not_present_by_xpath()
        • WebDriver.is_element_present_by_css()
        • WebDriver.is_element_present_by_id()
        • WebDriver.is_element_present_by_name()
        • WebDriver.is_element_present_by_tag()
        • WebDriver.is_element_present_by_text()
        • WebDriver.is_element_present_by_value()
        • WebDriver.is_element_present_by_xpath()
        • WebDriver.is_text_present()
        • WebDriver.new_tab()
        • WebDriver.quit()
        • WebDriver.reload()
        • WebDriver.screenshot()
        • WebDriver.select()
        • WebDriver.title
        • WebDriver.type()
        • WebDriver.uncheck()
        • WebDriver.url
        • WebDriver.visit()
  • Remote WebDriver
    • Setting up the Remote WebDriver
    • Usage
  • zope.testbrowser
    • Usage
    • API docs
      • ZopeTestBrowser
        • ZopeTestBrowser.back()
        • ZopeTestBrowser.check()
        • ZopeTestBrowser.choose()
        • ZopeTestBrowser.cookies
        • ZopeTestBrowser.fill()
        • ZopeTestBrowser.fill_form()
        • ZopeTestBrowser.find_by_css()
        • ZopeTestBrowser.find_by_id()
        • ZopeTestBrowser.find_by_name()
        • ZopeTestBrowser.find_by_tag()
        • ZopeTestBrowser.find_by_text()
        • ZopeTestBrowser.find_by_value()
        • ZopeTestBrowser.find_by_xpath()
        • ZopeTestBrowser.find_option_by_text()
        • ZopeTestBrowser.find_option_by_value()
        • ZopeTestBrowser.forward()
        • ZopeTestBrowser.get_alert()
        • ZopeTestBrowser.get_iframe()
        • ZopeTestBrowser.html
        • ZopeTestBrowser.html_snapshot()
        • ZopeTestBrowser.is_element_not_present_by_css()
        • ZopeTestBrowser.is_element_not_present_by_id()
        • ZopeTestBrowser.is_element_not_present_by_name()
        • ZopeTestBrowser.is_element_not_present_by_tag()
        • ZopeTestBrowser.is_element_not_present_by_text()
        • ZopeTestBrowser.is_element_not_present_by_value()
        • ZopeTestBrowser.is_element_not_present_by_xpath()
        • ZopeTestBrowser.is_element_present_by_css()
        • ZopeTestBrowser.is_element_present_by_id()
        • ZopeTestBrowser.is_element_present_by_name()
        • ZopeTestBrowser.is_element_present_by_tag()
        • ZopeTestBrowser.is_element_present_by_text()
        • ZopeTestBrowser.is_element_present_by_value()
        • ZopeTestBrowser.is_element_present_by_xpath()
        • ZopeTestBrowser.is_text_present()
        • ZopeTestBrowser.new_tab()
        • ZopeTestBrowser.quit()
        • ZopeTestBrowser.reload()
        • ZopeTestBrowser.screenshot()
        • ZopeTestBrowser.select()
        • ZopeTestBrowser.title
        • ZopeTestBrowser.type()
        • ZopeTestBrowser.uncheck()
        • ZopeTestBrowser.url
        • ZopeTestBrowser.visit()
  • Django
    • Usage
    • API docs
      • DjangoClient
        • DjangoClient.back()
        • DjangoClient.check()
        • DjangoClient.choose()
        • DjangoClient.cookies
        • DjangoClient.fill()
        • DjangoClient.fill_form()
        • DjangoClient.find_by_css()
        • DjangoClient.find_by_id()
        • DjangoClient.find_by_name()
        • DjangoClient.find_by_tag()
        • DjangoClient.find_by_text()
        • DjangoClient.find_by_value()
        • DjangoClient.find_by_xpath()
        • DjangoClient.find_option_by_text()
        • DjangoClient.find_option_by_value()
        • DjangoClient.forward()
        • DjangoClient.get_alert()
        • DjangoClient.get_iframe()
        • DjangoClient.html
        • DjangoClient.html_snapshot()
        • DjangoClient.is_element_not_present_by_css()
        • DjangoClient.is_element_not_present_by_id()
        • DjangoClient.is_element_not_present_by_name()
        • DjangoClient.is_element_not_present_by_tag()
        • DjangoClient.is_element_not_present_by_text()
        • DjangoClient.is_element_not_present_by_value()
        • DjangoClient.is_element_not_present_by_xpath()
        • DjangoClient.is_element_present_by_css()
        • DjangoClient.is_element_present_by_id()
        • DjangoClient.is_element_present_by_name()
        • DjangoClient.is_element_present_by_tag()
        • DjangoClient.is_element_present_by_text()
        • DjangoClient.is_element_present_by_value()
        • DjangoClient.is_element_present_by_xpath()
        • DjangoClient.is_text_present()
        • DjangoClient.new_tab()
        • DjangoClient.quit()
        • DjangoClient.reload()
        • DjangoClient.screenshot()
        • DjangoClient.select()
        • DjangoClient.title
        • DjangoClient.type()
        • DjangoClient.uncheck()
        • DjangoClient.url
        • DjangoClient.visit()
  • Flask
    • Usage
    • API docs
      • FlaskClient
        • FlaskClient.back()
        • FlaskClient.check()
        • FlaskClient.choose()
        • FlaskClient.cookies
        • FlaskClient.fill()
        • FlaskClient.fill_form()
        • FlaskClient.find_by_css()
        • FlaskClient.find_by_id()
        • FlaskClient.find_by_name()
        • FlaskClient.find_by_tag()
        • FlaskClient.find_by_text()
        • FlaskClient.find_by_value()
        • FlaskClient.find_by_xpath()
        • FlaskClient.find_option_by_text()
        • FlaskClient.find_option_by_value()
        • FlaskClient.forward()
        • FlaskClient.get_alert()
        • FlaskClient.get_iframe()
        • FlaskClient.html
        • FlaskClient.html_snapshot()
        • FlaskClient.is_element_not_present_by_css()
        • FlaskClient.is_element_not_present_by_id()
        • FlaskClient.is_element_not_present_by_name()
        • FlaskClient.is_element_not_present_by_tag()
        • FlaskClient.is_element_not_present_by_text()
        • FlaskClient.is_element_not_present_by_value()
        • FlaskClient.is_element_not_present_by_xpath()
        • FlaskClient.is_element_present_by_css()
        • FlaskClient.is_element_present_by_id()
        • FlaskClient.is_element_present_by_name()
        • FlaskClient.is_element_present_by_tag()
        • FlaskClient.is_element_present_by_text()
        • FlaskClient.is_element_present_by_value()
        • FlaskClient.is_element_present_by_xpath()
        • FlaskClient.is_text_present()
        • FlaskClient.new_tab()
        • FlaskClient.quit()
        • FlaskClient.reload()
        • FlaskClient.screenshot()
        • FlaskClient.select()
        • FlaskClient.title
        • FlaskClient.type()
        • FlaskClient.uncheck()
        • FlaskClient.url
        • FlaskClient.visit()

Community

  • Community Resources
    • Mailing List
    • IRC channel
    • Issue Tracker
  • External Links
    • Projects Using Splinter
    • Blog Posts
    • Slides and Talks

Splinter Development

  • Development Environment Setup
    • Basic Tools
      • macOS
      • Linux
      • PIP and virtualenv
      • Dependencies
  • Contributing
    • Requirements
    • Linter
    • Tests
      • Run
    • Documentation
      • Write
      • Build
  • Writing new splinter drivers
Splinter
  • Search


© Copyright 2024, cobrateam.

Built with Sphinx using a theme provided by Read the Docs.