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.WebElementThe range slider to be clicked. target : floatTarget value to which the sider should be dragged. horizontal : bool, default=TrueIndicates the slider is oriented horizontally, as opposed to vertically. tol : float, default=0Tolerance for error if the slider cannot be dragged to the exact target. max_iter : int, default=10Maximum 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.WebElementThe range slider to be clicked. target : floatTarget value to which the sider should be dragged. horizontal : bool, default=TrueIndicates the slider is oriented horizontally, as opposed to vertically. tol : float, default=0Tolerance for error if the slider cannot be dragged to the exact target. max_iter : int, default=10Maximum 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.WebElementThe range slider to be dragged. target : floatTarget value to which the sider should be dragged. horizontal : bool, default=TrueIndicates the slider is oriented horizontally, as opposed to vertically. tol : float, default=0Tolerance for error if the slider cannot be dragged to the exact target. max_iter : int, default=10Maximum 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.datetimeThe 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 : strResponse 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)