Skip to main content

A simple Python package for managing Selenium Chrome drivers in headless mode.

Project description

PyPI version License: MIT

headless-driver

A simple Python package for managing Selenium Chrome drivers in headless mode.

Features

  • Headless Chrome driver management
  • Temporary user data directory
  • Custom window size and user agent
  • Easy cleanup and context manager support
  • Remote and local driver support

Installation

pip install headless-driver

Usage

from headless import Headless

hl = Headless()
driver = hl.get_driver()
driver.get("https://example.com")
print(driver.title)
hl.quit()

Or use as a context manager:

from headless import Headless

with Headless() as driver:
    driver.get("https://example.com")
    print(driver.title)

Search

from headless import SearchScraper, Headless

hl = Headless()
driver = hl.get_driver()

scraper = SearchScraper(driver=driver, max_results=5)

results = scraper.search("Nuhman PK github")
print(results)

API Documentation

Headless class

Headless(
    user_data_dir: Optional[str] = None,
    window_size: Tuple[int, int] = (1920, 1080),
    user_agent: Optional[str] = None,
    headless: bool = True,
    chrome_driver_path: Optional[str] = '/opt/homebrew/bin/chromedriver',
    additional_args: Optional[List[str]] = None,
    remote_url: Optional[str] = None,
)
  • user_data_dir: Path for Chrome user data (temporary if not provided)
  • window_size: Browser window size (default: 1920x1080)
  • user_agent: Custom user agent string
  • headless: Run Chrome in headless mode (default: True)
  • chrome_driver_path: Path to chromedriver executable
  • additional_args: List of extra Chrome arguments
  • remote_url: Use remote Selenium server if provided

Methods

  • get_driver(): Returns a Selenium WebDriver instance
  • quit(): Quits the driver and cleans up user data

Running Tests

python -m unittest discover tests

License

MIT

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

headless_driver-0.0.6.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

headless_driver-0.0.6-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file headless_driver-0.0.6.tar.gz.

File metadata

  • Download URL: headless_driver-0.0.6.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.13

File hashes

Hashes for headless_driver-0.0.6.tar.gz
Algorithm Hash digest
SHA256 8c54ffe9071314a4455a888d05ae5fe0a11584d83499c8029645f77e0ad9891a
MD5 2c9910fef9cfbf7cf3a032d9ad798524
BLAKE2b-256 29b835505608a9ebc83f40a638be68494e13dac0d679687b9f43e889827a48a1

See more details on using hashes here.

File details

Details for the file headless_driver-0.0.6-py3-none-any.whl.

File metadata

File hashes

Hashes for headless_driver-0.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 1eccea36f44f767e3a4b73159b780d40d3ec17be4110e08dfb27a73564a93af5
MD5 58cce1e78346be2d85696e37d9320a1b
BLAKE2b-256 c3ec1d4585981f7966b3d4cf0194fd044730fa6d9edbbb1709880c22e0a275fe

See more details on using hashes here.

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