Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

selenium interface

Project description

anna-lib

The purpose of this package is to simplify the use of selenium.

requirements

selenium

installation

$ pip install anna-lib

usage

from anna_lib.selenium import driver, events, assertions


result = []
firefox = driver.create(driver='firefox', headless=True)

firefox.get('http://example.com/')
events.click(driver=firefox, target='a[href="http://www.iana.org/domains/example"]')

result.append(assertions.current_url_is(firefox, 'http://www.iana.org/domains/example'))

driver

Use this module to create a webdriver based on a set of options:

param type required   values default value
driver string  yes 'firefox' or 'chrome' for now 'firefox'
headless bool   no True or False False
resolution tuple  no  (width, height) (1920, 1080)

events

Use this module to interact with pages. Each event takes a driver, a target & a timeout which defaults to 16 seconds, with the exception being send_keys which also requires a value. The target is treated as a css selector unless it starts with '$xpath', in which case it is of course treated as an xpath selector.

from anna_lib.selenium import events, driver
firefox = driver.create('firefox', headless=True)

events.click(driver=firefox, target='#search')
events.send_keys(driver=firefox, target='#search', value='search terms')
events.submit(driver=firefox, target='#search')
events.hover(driver=firefox, target='$xpath//div.result/a')
events.scroll_to(driver=firefox, target='#thing')
events.switch_to(driver=firefox, target='iframe')

assertions

Use this module to check the state of a page, be it by the url or by the page's elements. Each assertion takes a driver, some input & a timeout parameter which defaults to 16 seconds.

from anna_lib.selenium import assertions, driver
firefox = driver.create('firefox', headless=True)

try:
	assertions.url_equals(driver=firefox, expected='about:blank')
	assertions.in_url(driver=firefox, part='blank')
	assertions.element_exists(driver=firefox, target='body')
except ValueError as e:
	print(str(e))
except TypeError as e:
	print(str(e))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for anna-lib, version 0.0.10
Filename, size File type Python version Upload date Hashes
Filename, size anna_lib-0.0.10-py3-none-any.whl (6.5 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size anna_lib-0.0.10.tar.gz (4.5 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page