Skip to main content

SeleniumXP utilities for Python

Package with utilities and functional extensions for Selenium webdriver Python language bindings

Features

The package consist of various helpers and extensions to the Selenium webdriver:

  • module for session handling especially a custom factory function to initialize a webdriver object
  • module with additional methods for the webdriver class and a respective mixin class
  • module with convenience functions for locators
  • module with additional methods for the webelement class
  • an extended event-firing webdriver and an extended listener abstract base class
  • a sample event listener implementation based on the extended abstract base class

Different from other packages extending the Selenium webdriver class this package does not work with wrapping the original webdriver but providing a mixin class or alternatively directly setting additional methods via 'setattr' in the original webdriver class. This is done and controlled via a pretty versatile custom factory function initializing the webdriver.

The webelement extensions are done via setattr only. Implementing a mixin class would require to modify webdriver methods to return the new class with the mixin. So benefit of the settattr approach is that extending the webelement class is independent from changes to the webdriver class.

Note: as I am coming from camel case notation I was struggling a little bit with the Python naming conventions. However, for publishing I tried to increase compliance with Python naming conventions and added snake case method stubs (at least for most important subroutines) as a compromise.

Development

To set up hatch and pre-commit for the first time:

  1. install hatch globally, e.g. with pipx, i.e. pipx install hatch,
  2. make sure pre-commit is installed globally, e.g. with pipx install pre-commit.

A special feature that makes hatch very different from other familiar tools is that you almost never activate, or enter, an environment. Instead, you use hatch run env_name:command and the default environment is assumed for a command if there is no colon found. Thus you must always define your environment in a declarative way and hatch makes sure that the environment reflects your declaration by updating it whenever you issue a hatch run .... This helps with reproducability and avoids forgetting to specify dependencies since the hatch workflow is to specify everything directly in pyproject.toml. Only in rare cases, you will use hatch shell to enter the default environment, which is similar to what you may know from other tools.

To get you started, use hatch run test:cov or hatch run test:no-cov to run the unitest with or without coverage reports, respectively. Use hatch run lint:all to run all kinds of typing and linting checks. Try to automatically fix linting problems with hatch run lint:fix and use hatch run docs:serve to build and serve your documentation. You can also easily define your own environments and commands. Check out the environment setup of hatch in pyproject.toml for more commands as well as the package, build and tool configuration.

To support versioning and changelog generation please refer to the toolchain selected during package generation (see also pyproject.toml). If not deselected, the toolchain includes a pre-commit hook for linting commit messages to ensure commit messages are compliant with the conventional commit format and support an automated changelog generation.

Credits

This package was created with The Hatchlor Enhanced project template. This template is based on The Hatchlor but was substantially improved.

Metadata

Release files for utils-seleniumxp 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for utils-seleniumxp 1.2.0
File Size Uploaded
utils_seleniumxp-1.2.0.tar.gz 39.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for utils-seleniumxp 1.2.0
File Interpreter ABI Platform
utils_seleniumxp-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 79.7 kB

Release files / utils_seleniumxp-1.2.0.tar.gz

Download URL utils_seleniumxp-1.2.0.tar.gz
Size 39.4 kB
Tags Source
SHA-256 checksum
How to use checksums
655fcd3deff79aa5b1c100a97155cfa7d25c3675c3a263adede863d6be23ea12
BLAKE2b-256 checksum
How to use checksums
d8142ced52546d137d7717925da419bc0473470f5f8e69fc437f2295bb1d681f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release files / utils_seleniumxp-1.2.0-py3-none-any.whl

Download URL utils_seleniumxp-1.2.0-py3-none-any.whl
Size 40.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e582111c69e0ef501ae910e6c75edb8cf5996ae312e429f35168deb09738c7f6
BLAKE2b-256 checksum
How to use checksums
a9d2bd84481918f0414b3aec4d8036c8d588df85dc305b9fa7b098f4e7a2a138
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 29, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

1.1.0

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page