Selenium wrapper to make your life easy.
Project description
S-TOOL
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file s_tool-0.0.5.tar.gz
.
File metadata
- Download URL: s_tool-0.0.5.tar.gz
- Upload date:
- Size: 11.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04d5e76dba32ba1dd639f3754bd4b7191fc3150e316f37cec88653f6c30bd5cf |
|
MD5 | 9587317a5641ccdbeedfdbcd33758a92 |
|
BLAKE2b-256 | cd7b6e708116f0848bcf4fecb4fb7b9f29e1c686087a5dc30c9fe1ccec418a73 |
File details
Details for the file s_tool-0.0.5-py3-none-any.whl
.
File metadata
- Download URL: s_tool-0.0.5-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.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7b9e8f000e70573e5045baa596937246b2fb380838020c72bbceb410869230ab |
|
MD5 | 32f92cdf19f5c3438496b48a56c8f2ec |
|
BLAKE2b-256 | 4e0f25313d845199c5861e38fcc7762540c81c0d448ceee8feb5fdd984997229 |