Skip to main content

Selenium wrapper to make your life easy.

Project description

S-TOOL

https://user-images.githubusercontent.com/33047641/125023819-41998700-e09d-11eb-8076-7fad81f98f70.png

S-Tool is a utility module that provides helpful methods for interacting with Selenium WebDriver in Python

Installation

Installation using PyPi

pip install s-tool

Development Setup

# Clone this repository
 git clone https://github.com/Python-World/s-tool.git

 # Go into the repository
 cd sel-kit

 # Install dependencies
 poetry config virtualenvs.in-project true
 poetry install

 # Start Poetry shell
 poetry shell

Usage

  • Example Using Context Manager

"""Example code with context manager"""

from s_tool.core import SeleniumDriver as SBot

with SBot("firefox", headless=True) as self:
    self.get("https://google.com")
    sessionid = self.session()
    url = self.url()
    cookies = self.cookies()

    # print sessionid,url,cookies
    print(f"\nurl     :   {url} \nsession :   {sessionid}\ncookies :   {cookies}\n")
  • Example Using class

from s_tool.core import SeleniumTools

class SBot(SeleniumTools):
    """Example Bot using s-tool"""

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

    def run(self):
        """Code to visit url and fetch cookies and basic info"""
        url ="https://example.com"
        self.get(url)
        sessionid = self.sessionid()
        url = self.url()
        cookies = self.cookies()

        # print sessionid,url,cookies
        print(f"\nurl     :   {url} \nsession :   {sessionid}\ncookies :   {cookies}\n")


bot = SBot(browser ="firefox", headless=True)  # change headless=False to run with gui mode
bot.run()
bot.close()

Methods

Here are the public methods available in the SeleniumTools class:
  • get(): Loads a web page with the specified URL or local file or Html Content.

  • url(): Returns the current URL of the page.

  • text(): Returns the source code of the current page.

  • get_driver_sessionid(): Return an session id string.

  • get_locator(): Returns a WebDriver locator based on the given element identifier and identifier type.

  • get_element(): Returns a single element or a list of elements matching the given element identifier and identifier type.

  • fill(): Fills in form elements with the provided values.

  • wait_for_element(): Waits for an element to be present and visible on the page.

  • element_visibility(): Toggles the visibility of an element on the page.

  • cookies(): Returns all cookies present in the current session.

  • set_cookies(): Sets cookies for the current session using a dictionary of cookie key-value pairs.

  • click(): Clicks on the element identified by the given element identifier and identifier type.

  • press_multiple_keys(): Presses multiple keys simultaneously using Selenium.

  • execute_script(): Executes JavaScript code in the context of the current page.

  • parse(): Parses the HTML content of the current page and returns a list of elements matching the given tag name and attribute value.

Feel free to refer to the documentation for each method to understand their parameters and usage.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, please create an issue or submit a pull request.

License

This project is licensed under the MIT License.

Project details


Download files

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

Source Distribution

s_tool-0.0.4.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

s_tool-0.0.4-py3-none-any.whl (12.0 kB view details)

Uploaded Python 3

File details

Details for the file s_tool-0.0.4.tar.gz.

File metadata

  • Download URL: s_tool-0.0.4.tar.gz
  • Upload date:
  • Size: 12.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for s_tool-0.0.4.tar.gz
Algorithm Hash digest
SHA256 5b6cf4db9aa69aed43156872e0562ad8272da2216cafd6bec02e68a495137f4a
MD5 9b57ef627e7ce7b12a7b21422eac63c9
BLAKE2b-256 00c1d54fccb5970c009a7aaf165772590189e7f70df09b44a2e598289babccf4

See more details on using hashes here.

File details

Details for the file s_tool-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: s_tool-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 12.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.3

File hashes

Hashes for s_tool-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 4192e6a9ff83d18b29c40ccc49c118d7a22dcae17376cae9d1755968e2dee74b
MD5 6a12156354e023a1a5dba106ba9dff2e
BLAKE2b-256 fe340fea7d2bff4b9999163be36412f28c60df7ec08f2b08315a7da249c194a6

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page