A simple Python package for managing Selenium Chrome drivers in headless mode.
Project description
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 stringheadless: Run Chrome in headless mode (default: True)chrome_driver_path: Path to chromedriver executableadditional_args: List of extra Chrome argumentsremote_url: Use remote Selenium server if provided
Methods
get_driver(): Returns a Selenium WebDriver instancequit(): Quits the driver and cleans up user data
Running Tests
python -m unittest discover tests
License
MIT
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
headless_driver-0.0.6.tar.gz
(5.2 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8c54ffe9071314a4455a888d05ae5fe0a11584d83499c8029645f77e0ad9891a
|
|
| MD5 |
2c9910fef9cfbf7cf3a032d9ad798524
|
|
| BLAKE2b-256 |
29b835505608a9ebc83f40a638be68494e13dac0d679687b9f43e889827a48a1
|
File details
Details for the file headless_driver-0.0.6-py3-none-any.whl.
File metadata
- Download URL: headless_driver-0.0.6-py3-none-any.whl
- Upload date:
- Size: 5.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1eccea36f44f767e3a4b73159b780d40d3ec17be4110e08dfb27a73564a93af5
|
|
| MD5 |
58cce1e78346be2d85696e37d9320a1b
|
|
| BLAKE2b-256 |
c3ec1d4585981f7966b3d4cf0194fd044730fa6d9edbbb1709880c22e0a275fe
|