API

selenium_tools.click_range

def selenium_tools.click_range(driver, range_, target, horizontal=True, tol=0, max_iter=10) [source]

Click a range slider to a desired target value.

Parameters: driver : selenium.webdriver.chrome.webdriver.WebDriver or other webdriver

Webdriver in which the form is open.

range_ : selenium.webdriver.remote.webelement.WebElement

The range slider to be clicked.

target : float

Target value to which the sider should be dragged.

horizontal : bool, default=True

Indicates the slider is oriented horizontally, as opposed to vertically.

tol : float, default=0

Tolerance for error if the slider cannot be dragged to the exact target.

max_iter : int, default=10

Maximum number of iterations for the slider to reach the target.

Returns: delta : float

Remaining difference between the target and actual value.

Examples

from selenium_tools import click_range

from selenium.webdriver import Chrome

driver = Chrome()
driver.get('data:text/html,<input type="range">')
range_ = driver.find_element_by_css_selector('input[type=range]')
click_range(driver, range_, 80)
range_.get_property('value')

Out:

'80'

selenium_tools.click_slider_range

def selenium_tools.click_slider_range(driver, range_, target, horizontal=True, tol=0, max_iter=10) [source]

Click a bootstrap range slider to a desired target value.

Parameters: driver : selenium.webdriver.chrome.webdriver.WebDriver or other webdriver

Webdriver in which the form is open.

range_ : selenium.webdriver.remote.webelement.WebElement

The range slider to be clicked.

target : float

Target value to which the sider should be dragged.

horizontal : bool, default=True

Indicates the slider is oriented horizontally, as opposed to vertically.

tol : float, default=0

Tolerance for error if the slider cannot be dragged to the exact target.

max_iter : int, default=10

Maximum number of iterations for the slider to reach the target.

Returns: delta : float

Remaining difference between the target and actual value.

Examples

from selenium_tools import click_range_slider

from selenium.webdriver import Chrome

driver = Chrome()
driver.get('https://my-url/')
range_ = driver.find_element_by_css_selector('#my-slider-id')
drag_range(driver, range_, 80)
range_.get_property('value')

Out:

'80'

selenium_tools.drag_range

def selenium_tools.drag_range(driver, range_, target, horizontal=True, tol=0, max_iter=10) [source]

Drag a range slider to a desired target value.

Parameters: driver : selenium.webdriver.chrome.webdriver.WebDriver or other webdriver

Webdriver in which the form is open.

range_ : selenium.webdriver.remote.webelement.WebElement

The range slider to be dragged.

target : float

Target value to which the sider should be dragged.

horizontal : bool, default=True

Indicates the slider is oriented horizontally, as opposed to vertically.

tol : float, default=0

Tolerance for error if the slider cannot be dragged to the exact target.

max_iter : int, default=10

Maximum number of iterations for the slider to reach the target.

Returns: delta : float

Remaining difference between the target and actual value.

Examples

from selenium_tools import drag_range

from selenium.webdriver import Chrome

driver = Chrome()
driver.get('data:text/html,<input type="range">')
range_ = driver.find_element_by_css_selector('input[type=range]')
drag_range(driver, range_, 80)
range_.get_property('value')

Out:

'80'

selenium_tools.send_datetime

def selenium_tools.send_datetime(input_, datetime_) [source]

Send a datetime object to a form input.

Parameters: input_ : selenium.webdriver.remote.webelement.WebElement

The form input to which the datetime object will be sent.

datetime_ : datetime.datetime

The datetime object to be sent.

Examples

from selenium_tools import send_datetime

from selenium.webdriver import Chrome

from datetime import datetime

driver = Chrome()
driver.get('data:text/html,<input type="date">')
input_ = driver.find_element_by_css_selector('input[type=date]')
send_datetime(input_, datetime.utcnow())

You should see the current date entered in the date input field in your browser.

selenium_tools.get_datetime

def selenium_tools.get_datetime(input_type, response) [source]

Get a datetime object from a form response after a POST request.

Parameters: input_type : str

Type of the input tag.

response : str

Response to the input tag.

Returns: datetime : datetime.datetime

The response converted to a datetime object if possible, otherwise the raw response. This method will fail to convert the response if the input type is invalid or if the client did not enter a response in this input tag.

Examples

from selenium_tools import get_datetime, send_datetime

from selenium.webdriver import Chrome

from datetime import datetime

driver = Chrome()
driver.get('data:text/html,<input type="date">')
input_ = driver.find_element_by_css_selector('input[type=date]')
send_datetime(input_, datetime.utcnow())
get_datetime(input_.get_attribute('type'), input_.get_property('value'))

Out:

datetime.datetime(2020, 6, 30, 0, 0)