contextmanager for managing `selenium` chrome sessions with caching.
Project description
chromesession
chromesession is a Python package that provides a convenient contextmanager for managing selenium chrome sessions.
In addition, a CachedSession is provided to directly cache the driver responses.
Installation
pip install chromesession
To use the chromesession.chrome context manager with selenium, the chromedriver must be installed on the system.
Alternatively, you can install the latest chromedriver as an extra.
pip install chromesession[driver]
Examples
Cache the specified URLs by fetching them via Selenium and saving the responses.
from pathlib import Path
from chromesession import CachedSession, chrome
def caching(*urls: str) -> Path:
"""
Cache the specified URLs by fetching them via Selenium and saving the responses.
"""
cachfile = "caching.sqlite"
with CachedSession(cache_name=cachfile) as session:
with chrome(verbose=False) as driver:
for url in urls:
if url in session:
print(f"{url=} already cached.")
continue
try:
driver.get(url)
session.save_driver(driver)
except Exception as e:
print(f"{url=} failed to cache: {e}", exc_info=True)
else:
print(f"{url=} saved in cache.")
return Path(cachfile)
if __name__ == "__main__":
caching("https://example.com/", "https://example.com/")
Dependencies
Extras
Install optional dependencies using extras.
| extra | installation | dependency |
|---|---|---|
| all | pip install chromesession[all] |
Install all extras. |
| driver | pip install chromesession[driver] |
|
| bs4 | pip install chromesession[bs4] |
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
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 chromesession-0.1.3.tar.gz.
File metadata
- Download URL: chromesession-0.1.3.tar.gz
- Upload date:
- Size: 6.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.13.7 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb16899c50503b0a266bae110f00f80ab0df8d58b0d93cfdad6f749eeed9313c
|
|
| MD5 |
de729ae090074a93a65a64940e70b368
|
|
| BLAKE2b-256 |
7dbc54888884accf4e74b320f1d7f20fb826d0c2813804bb6832276a17f52dd7
|
File details
Details for the file chromesession-0.1.3-py3-none-any.whl.
File metadata
- Download URL: chromesession-0.1.3-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.5 CPython/3.13.7 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7601ca333e599a6aceed537d45a8e57c1792fb66b44f2417f61c3fd45c8c9b10
|
|
| MD5 |
4d4b7d66aa19ccd41c1690f7f9a21dcb
|
|
| BLAKE2b-256 |
83ff3948f43c1eea4e1797ffa69b74a2f719b32dfb4bf5bfdbd0b6a9b07c9dd3
|