Skip to main content

Easiestm zero-config selenium webdriver for Python

Project description

open-webdriver

The simplest and easiest way to get a selenium webdriver

Platform Unit Tests

Actions Status Actions Status Actions Status

Platform binary nuitka build

Actions Status Actions Status Actions Status

About

Yet another selenium webdriver wrapper API in python.

This api is tested with github actions and the pain points have been found and smoothed out. For example the webdriver is downloaded and installed on first use. Addiotionally this library has been built to support the nuitka binary compilation of python. This allows you to make a bot and then distribute just a binary version to a client.

Benefits:

  • Production ready. Cross platform tests.
  • ssl certs are turned off to reduce errors for many websites.
  • Downloading the proper binary for your platform and stashing it next to the app.
  • Headless by default.
  • Intelligently forces headless in a linux environment without a display card (prevents crash).
  • Platform tests to ensure a stable cross platform experience.
  • Pins to a specific version of selenium driver stack to ensure reproducable behavior.
  • Nuitka Binary Builds for all platforms are tested.

Install

python -m pip install open-webdriver

Api

from open_webdriver import open_webdriver

with open_webdriver() as driver:
    driver.get("https://www.google.com")
    assert driver.title == "Google"

Tests

Just simply run tox at the command line and everything should be tested. You may need to install tox with python -m pip tox.

Nuitka

This package supports the Nuitka cross compiler to binary app. However to make this work YOU MUST include the package data for selenium or you will get errors about missing javascript files when the program loads. To get around this you'll need to add package data:

python -m nuitka --include-package-data=selenium ...

For example see the example build file: https://github.com/zackees/open-webdriver/blob/main/tests/nuitka/test_binary_build.py

Changes

  • 1.1.6: Fixes failing win-tox tests due to missing "PROGRAMW6432" value in os.environ (?!). Brave browser removed as it actually didn't work.
  • 1.1.5: Cert warnings now suppressable with non headless sessions.
  • 1.1.3: Suppress more cert warnings.
  • 1.1.2: Suppress certificate warnings.
  • 1.1.1: Update readme.
  • 1.1.0: Platform binary builds using nuitka are now tested.
  • 1.0.4: Now pins dependencies.
  • 1.0.0: Initial code submit.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

open_webdriver-1.1.6.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

open_webdriver-1.1.6-py2.py3-none-any.whl (5.7 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file open_webdriver-1.1.6.tar.gz.

File metadata

  • Download URL: open_webdriver-1.1.6.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.0

File hashes

Hashes for open_webdriver-1.1.6.tar.gz
Algorithm Hash digest
SHA256 45bbab1b893ba55bd87f2a2a394b1c045441400e99d6d4085e511b83d3bc0760
MD5 3b12604170e1c6c5d47ed84bc0fdf1d1
BLAKE2b-256 0a8754b9dc5cb3eb59865d80f050343ab3517e08e1718010b9edc2a2d30aae72

See more details on using hashes here.

File details

Details for the file open_webdriver-1.1.6-py2.py3-none-any.whl.

File metadata

  • Download URL: open_webdriver-1.1.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.9.0 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.8.0

File hashes

Hashes for open_webdriver-1.1.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 4c260b787cf5c2e7d0eb2845c22a523493d3edcc931fe570fa83f114cf0b7183
MD5 a87fc8e6f45d84453f698f72320126be
BLAKE2b-256 66f66916d81a1e87d4afdb10728aefe6a1b743d65f5665f657095bfe5a4dfdac

See more details on using hashes here.

Supported by

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