Metadata-Version: 2.1
Name: selenium-tools
Version: 0.0.1
Summary: Datetime and range slider tools for Selenium.
Home-page: https://dsbowen.github.io/selenium-tools
Author: Dillon Bowen
Author-email: dsbowen@wharton.upenn.edu
License: UNKNOWN
Description: Selenium-Tools provides the following tools for use with [Selenium](https://selenium-python.readthedocs.io/):
        
        1. Send/receive `datetime.datetime` objects from web forms.
        2. Drag range sliders to specified values.
        
        ## Installation
        
        ```
        $ pip install selenium-tools
        ```
        
        ## Quickstart
        
        First, clone an example file from the Selenium-Tools repo.
        
        ```bash
        $ curl https://raw.githubusercontent.com/dsbowen/selenium-tools/master/form.html --output form.html
        ```
        
        Let's send the current date and time to all input in the form.
        
        ```python
        from selenium_tools import get_datetime, send_datetime
        
        from selenium.webdriver import Chrome
        
        from datetime import datetime
        
        driver = Chrome()
        driver.get('data:text/html,'+open('form.html').read())
        
        datetime_ = datetime.utcnow()
        
        css_selectors = (
            'input[type=date]',
            'input[type=datetime-local]',
            'input[type=month]',
            'input[type=time]',
            'input[type=week]'
        )
        for selector in css_selectors:
            input_ = driver.find_element_by_css_selector(selector)
            send_datetime(input_, datetime_)
            print(get_datetime(
                input_.get_attribute('type'), 
                input_.get_property('value')
            ))
        ```
        
        You'll see the form filled in in your selenium browser and receive the following output in your terminal:
        
        ```
        2020-06-30 00:00:00
        2020-06-30 15:47:00
        2020-06-01 00:00:00
        1900-01-01 15:47:00
        2020-01-01 00:00:00
        ```
        
        We can also drag the range slider as follows:
        
        ```python
        from selenium_tools import drag_range
        
        range_ = driver.find_element_by_css_selector('input[type=range]')
        drag_range(driver, range_, 80)
        range_.get_property('value')
        ```
        
        Out:
        
        ```
        '80'
        ```
        
        ## Citation
        
        ```
        @software{bowen2020selenium-tools,
          author = {Dillon Bowen},
          title = {Selenium-Tools},
          url = {https://dsbowen.github.io/selenium-tools/},
          date = {2020-06-29},
        }
        ```
        
        ## License
        
        Users must cite this package in any publications which use it.
        
        It is licensed with the MIT [License](https://github.com/dsbowen/selenium-tools/blob/master/LICENSE).
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
