Selenium Tools
raw JSON → 1.5.0 verified Mon Apr 27 auth: no python
A helper library for Selenium providing additional utilities such as IndexedDB interaction, local storage manipulation, drag & drop bypass, scrolling support, and webdriver wait getter. Current version is 1.5.0, released in 2024. Maintenance cadence is irregular with minor improvements and dependency updates.
pip install seletools Common errors
error ModuleNotFoundError: No module named 'seletools' ↓
cause Package not installed or installed with wrong name (e.g., 'selenium-tools').
fix
pip install seletools
error AttributeError: 'WebDriver' object has no attribute 'seletools' ↓
cause Attempting to access seletools as an attribute of the driver.
fix
Instantiate Seletools(driver) explicitly: from seletools.actions import Seletools; tools = Seletools(driver)
error selenium.common.exceptions.JavascriptException: Message: ReferenceError: indexedDB is not defined ↓
cause IndexedDB is unavailable in the current browser context (e.g., file:// protocol or non-secure context).
fix
Ensure the page is loaded over HTTPS or localhost, and the browser supports IndexedDB.
Warnings
gotcha IndexedDB get method may hang if webdriver implicit_wait is not set. In version <1.2.1, it would execute multiple iterations unnecessarily. Set implicit_wait explicitly. ↓
fix Set driver.implicitly_wait(0) before IndexedDB operations if you want single iteration.
gotcha Local storage and IndexedDB methods require the page to be fully loaded and may throw errors on non-secure contexts (http vs https). Use on pages served over HTTPS. ↓
fix Ensure the page is loaded over HTTPS and wait for page readiness before calling storage methods.
deprecated The main Seletools class exposes all utilities. Some methods may be deprecated in future releases as separate module imports become preferred. ↓
fix Import specific modules (e.g., from seletools.scrolling import Scrolling) for direct access.
Imports
- Seletools wrong
from selenium_tools import Seletoolscorrectfrom seletools import Seletools - IndexedDB
from seletools.indexed_db import IndexedDB - LocalStorage
from seletools.local_storage import LocalStorage - Scrolling
from seletools.scrolling import Scrolling - DragAndDrop
from seletools.drag_and_drop import DragAndDrop
Quickstart
from selenium import webdriver
from seletools.actions import Seletools
driver = webdriver.Chrome()
driver.get('https://example.com')
tools = Seletools(driver)
# Example: scroll to bottom
tools.scroll_to_bottom()
# Example: drag & drop bypass
tools.drag_and_drop(source_element, target_element)
driver.quit()