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.20.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.20-py3-none-any.whl (168.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for browserist-1.7.20.tar.gz
Algorithm Hash digest
SHA256 8fbc799c813b6f6c3a31c446b2900adba5b0cf2c46696080a3f0d4352191270a
MD5 900de1ff470e346580564db417c1b83a
BLAKE2b-256 8f39f52a57a3d7c8b4134b7b23bd302c163845962911639a91113062b2b712a3

See more details on using hashes here.

Provenance

The following attestation bundles were made for browserist-1.7.20.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.20-py3-none-any.whl.

File metadata

  • Download URL: browserist-1.7.20-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.12

File hashes

Hashes for browserist-1.7.20-py3-none-any.whl
Algorithm Hash digest
SHA256 f89b39fc95c1565a5592735f395bcdc40303a00b7f2cc8afdef5d26a14c94f14
MD5 6a44a83c89c81010efd273e47bc43e04
BLAKE2b-256 a91ef9d045e33ed61c3391acf499edf9fd2db05dc4c9ceef87e6e69d1a2f99ea

See more details on using hashes here.

Provenance

The following attestation bundles were made for browserist-1.7.20-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