Skip to main content

Extension for the Selenium web driver that makes browser automation even easier

Project description

Latest version Python 3.11 | 3.12 | 3.13 | 3.14+ Apache 2.0 license Codecov CodeQL Test Downloads

👩‍💻 Browserist – Python Extension for Selenium 👨‍💻

browserist

  1. The belief that web browsers account for differences in websites or web applications in all of their ability and that a particular web browser is superior to others.
  2. Discrimination or prejudice based on web browser.

Despite the urban definition, Browserist is a Python extension of the Selenium web driver that makes it even easier to use different browsers for testing and automation.

Key Features

With Browserist as an extension to Selenium, you get:

  • Improved stability and speed
  • Simple syntax and less code
  • Hassle-free setup across browsers: Chrome, Firefox, Edge, Safari, Internet Explorer
  • Extensive framework of functions that makes browser automation easy
  • Efficient development workflow with IntelliSense and type hints

How to Install

Ready to try? With PyPI:

pip install browserist

Or with Homebrew:

brew tap jakob-bagterp/browserist
brew install browserist

Do you need more information? Please refer to the installation details.

Getting Started

You're now ready to go:

from browserist import Browser

with Browser() as browser:
    browser.open.url("https://example.com")
    browser.wait.seconds(5)

Improved Stability and Less Code

Browserist improves stability with less code compared to standard use of Selenium. As browsers need time to render web pages, especially single-page applications, Selenium is often used with explicit timeouts:

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

driver.get("https://example.com")
driver.implicitly_wait(3)
search_box = driver.find_element(By.XPATH, "//xpath/to/input")
search_button = driver.find_element(By.XPATH, "//xpath/to/button")
search_box.send_keys("Lorem ipsum")
search_button.click()
driver.quit()

Browserist does the same with less and cleaner code, yet also with increased stability and without explicit/implicit waits:

from browserist import Browser

with Browser() as browser:
    browser.open.url("https://example.com")
    browser.input.value("//xpath/to/input", "Lorem ipsum")
    browser.click.button("//xpath/to/button")

Documentation

For in-depth documentation, visit the website with tutorials, code examples, a list of all methods, and much more.

Become a Sponsor 🏅

If you find this project helpful, please consider supporting its development. Your donations will help keep it alive and growing. Every contribution makes a difference, whether you buy a coffee or support with a monthly donation. Find your tier here:

Donate on GitHub Sponsors

Thank you for your support! 🙌

Contribute

If you have suggestions or changes to the module, feel free to add to the code and create a pull request.

Report Bugs

If you encounter any issues, you can report them as bugs or raise issues.

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

browserist-1.7.19.tar.gz (68.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

browserist-1.7.19-py3-none-any.whl (168.4 kB view details)

Uploaded Python 3

File details

Details for the file browserist-1.7.19.tar.gz.

File metadata

  • Download URL: browserist-1.7.19.tar.gz
  • Upload date:
  • Size: 68.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for browserist-1.7.19.tar.gz
Algorithm Hash digest
SHA256 10d931eb340dc4456a4eba464b549a338dfb7326296745161ff5be023e64dac2
MD5 e6a739c2a10b09ebd316f2b0d61d7a09
BLAKE2b-256 951d8078d6b584fc1be8be868b837d299bd54dd33a071758be7cfd8524b6f2b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for browserist-1.7.19.tar.gz:

Publisher: release.yml on jakob-bagterp/browserist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file browserist-1.7.19-py3-none-any.whl.

File metadata

  • Download URL: browserist-1.7.19-py3-none-any.whl
  • Upload date:
  • Size: 168.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for browserist-1.7.19-py3-none-any.whl
Algorithm Hash digest
SHA256 f1275853d2fa8967d40767be616c8b79a14e5a88c85b174f53d5b53f3baf2ef5
MD5 9a07660181b7e43c6b6e12660d2f1caa
BLAKE2b-256 e5b305e1041a9020f114411b9563a9a4e1bf234e5998b3e4e7f7f0d0265809c9

See more details on using hashes here.

Provenance

The following attestation bundles were made for browserist-1.7.19-py3-none-any.whl:

Publisher: release.yml on jakob-bagterp/browserist

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page