GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - Python-World/s-tool: Selenium wrapper to make your life easy.

BranchesTags
Open more actions menu

Latest commit

 

History

93 Commits
93 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
docs
docs
 
 
s_tool
s_tool
 
 
tests
tests
 
 
.flake8
.flake8
 
 
.gitignore
.gitignore
 
 
.pre-commit-config.yaml
.pre-commit-config.yaml
 
 
.pylintrc
.pylintrc
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
HISTORY.rst
HISTORY.rst
 
 
LICENSE
LICENSE
 
 
Makefile
Makefile
 
 
README.rst
README.rst
 
 
poetry.lock
poetry.lock
 
 
pyproject.toml
pyproject.toml
 
 
requirements.txt
requirements.txt
 
 
tox.ini
tox.ini
 
 

Repository files navigation

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 SeleniumTools as SBot

with SBot(browser="firefox", headless=True) as self:
    self.get("https://example.com")
    sessionid = self.sessionid()
    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.

About

Selenium wrapper to make your life easy.

Topics

pythonpython3seleniumselenium-pythonselenium-webdriverselenium-wrapperwebdriverwrapperwrapper-library

Resources

Readme
MIT license

Contributing

Contributing
Activity
Custom properties

Stars

10 stars

Watchers

2 watching

Forks

6 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.