skillfed

seletools

Helpful tools for Selenium on Python

seletools v1.5.0 101.4K downloads/30d#12,937 on PyPI63
Permissive license MIT DORMANT released

What it is and what it does

Seletools is a collection of utility functions that extend WebDriver with features and workarounds not available natively. It addresses a known drag-and-drop bug in the WebDriver protocol by using JavaScript simulation instead, provides smart scrolling that accounts for fixed overlays like navbars, and adds convenience methods for interacting with browser storage (IndexedDB and Local Storage) and retrieving WebDriver wait configuration values.

The package is designed for developers writing test automation or web scraping scripts who encounter limitations in the native API. It has no external runtime dependencies, making it lightweight to add to existing projects. However, the repository has been dormant since 2024-05-12, so users should verify compatibility with their specific WebDriver version and browser environment before relying on it for new projects.

Use it for:

  • Work around the known drag-and-drop bug by using JavaScript-based simulation instead of native WebDriver actions.
  • Scroll to elements on pages with fixed headers or footers that would otherwise obscure the target element.
  • Read and modify IndexedDB data during browser automation when you need to inspect or manipulate application state.
  • Get and set Local Storage values programmatically without writing custom JavaScript snippets for each operation.
  • Retrieve implicit wait, page load, and script timeout values from a WebDriver instance in versions prior to 4.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides helper functions for Selenium WebDriver that work around known bugs and add missing features like drag-and-drop, smart scrolling, wait introspection, and browser storage access.

Yes, if you are actively using WebDriver and encounter the specific issues it addresses (drag-and-drop, storage access, scrolling obstacles). The low install friction and permissive MIT license make it a safe addition. However, proceed with caution for new projects: the dormant maintenance status (no updates since 2024-05-12) means you should test compatibility with your WebDriver and browser versions first and be prepared to maintain a fork if critical issues arise.

Install

seletools on PyPI

pip

pip install seletools

uv

uv add seletools

poetry

poetry add seletools

Installing seletools

Before you install

Low friction installation with no runtime dependencies. Maintenance is dormant—last release was 2024-05-12 with no commits since—so expect no active bug fixes or updates, though the package remains functional for its current scope.

License in practice

MIT license permits free use, modification, and distribution with minimal restrictions, making it safe to use in commercial and open-source projects.

Quickstart

pip install seletools

from seletools.actions import drag_and_drop

driver = webdriver.Chrome()
source = driver.find_element(By.CSS_SELECTOR, "...")
target = driver.find_element(By.CSS_SELECTOR, "...")
drag_and_drop(driver, source, target)

Requires Python >=3.8 and an active WebDriver instance; IndexedDB features require logging enabled on the webdriver.

Verify before relying

  • Current compatibility with WebDriver versions released after 2024-05-12
  • Whether JavaScript-based drag-and-drop workaround remains effective in modern browser versions
  • Active maintenance status and responsiveness to issues given dormant repository state

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.8)
Install friction low — pure-Python wheel
Runtime dependencies none
Maintenance dormant — 824 days since the last release
Last repo commit
First released
Downloads 101,409/month — #12,937 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: seletools-1.5.0-py3-none-any.whl

License :: OSI Approved :: MIT LicenseOperating System :: OS IndependentProgramming Language :: Python :: 3

Tags

selenium drag and drop workaroundselenium helper functionsselenium scroll to elementselenium indexeddb accessselenium local storageselenium webdriver utilitiesselenium testing tools
webdriver-utilitiesweb-automationtesting-helpers

More Testing packages

pluggy

Pluggy provides a plugin system that lets you…

permissive · top 100 on PyPI

pytest

pytest is a testing framework that lets you…

permissive · top 100 on PyPI

virtualenv

virtualenv creates isolated Python environments…

permissive · top 100 on PyPI

coverage

Coverage.py measures which lines of Python code…

permissive · top 1,000 on PyPI

pytest-asyncio

pytest-asyncio is a pytest plugin that enables…

permissive · top 1,000 on PyPI

pytest-json-ctrf

A pytest plugin that generates test reports in…

permissive · top 1,000 on PyPI

Selenium-Screenshot

Captures full-page or element-level screenshots…

permissive · top 15,000 on PyPI

selenium

Selenium provides Python bindings to automate…

permissive · top 1,000 on PyPI

selenium-page-factory

Implements a page factory pattern for Selenium…

permissive · top 15,000 on PyPI

webdriver-manager

Automatically downloads, caches, and manages…

permissive · top 5,000 on PyPI

requestium

Requestium merges Requests, Selenium, and…

permissive · top 15,000 on PyPI

selenium-stealth

Modifies a Selenium Chrome WebDriver to evade…

permissive · top 15,000 on PyPI

selenium-wire

Extends Selenium's Python bindings to…

permissive · top 5,000 on PyPI

zendriver

Zendriver is an async-first web automation…

agpl · top 15,000 on PyPI

undetected-chromedriver

Patches Selenium's Chrome WebDriver to avoid…

copyleft · top 5,000 on PyPI

robotframework-extendedselenium2library

A Robot Framework library for web browser…

agpl · top 15,000 on PyPI