Effortlessly transfer sessions from Python requests to Selenium WebDriver.
Project description
reqdriver
A Python package that seamlessly transfers a requests.Session
to a Selenium WebDriver, maintaining session cookies and proxy settings. Ideal for web scraping and automated browsing with pre-established session states.
Features
- Transfer Session Cookies: Easily transfer cookies from a
requests.Session
to a Selenium WebDriver. - Proxy Integration: Set up a Chrome WebDriver with the same proxy settings as your
requests.Session
. - Flexible WebDriver Management: Use an existing WebDriver instance or let reqdriver create one for you.
- Custom WebDriver Options: Customize your WebDriver with additional options.
Installation
pip install reqdriver
Usage
Basic Usage
Import the RequestsDriver
class from the reqdriver
package:
from reqdriver import RequestsDriver
import requests
Transferring Cookies
Transfer cookies from a requests.Session
:
session = requests.Session()
session.cookies.set('test_cookie', '12345', domain='example.com')
req_driver = RequestsDriver(session)
req_driver.set_cookies('http://example.com')
driver = req_driver.get_driver()
driver.get('http://example.com')
Setting Proxies
Set up a WebDriver with the same proxy settings as your requests.Session
:
session = requests.Session()
session.proxies = {
'http': 'http://192.168.3.2:8080'
}
req_driver = RequestsDriver(session)
driver = req_driver.get_driver()
driver.get('http://example.com')
Using Custom WebDriver Options
Pass your custom Chrome WebDriver options:
from selenium.webdriver.chrome.options import Options
custom_options = Options()
custom_options.add_argument('--headless')
session = requests.Session()
req_driver = RequestsDriver(session, custom_options=custom_options)
driver = req_driver.get_driver()
driver.get('http://example.com')
Using Existing WebDriver
Pass your already created WebDriver instance:
from selenium import webdriver
existing_driver = webdriver.Chrome(executable_path='path_to_chromedriver')
session = requests.Session()
req_driver = RequestsDriver(session, driver=existing_driver)
req_driver.set_cookies('http://example.com')
existing_driver.get('http://example.com')
Contributing
Contributions are welcome! Feel free to open issues or submit pull requests.
License
Distributed under the MIT License. See LICENSE
for more information.
My links
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
Built Distribution
File details
Details for the file reqdriver-0.1.2.tar.gz
.
File metadata
- Download URL: reqdriver-0.1.2.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 424d5e4bdb003235c54ecc2798eba19f60eb03a8980b8e649427a0e6bef79073 |
|
MD5 | 020123ad76dbbf4a39dfcfce1fbb8614 |
|
BLAKE2b-256 | 52318cb580198398671b329ffd464a32e576e1369652647dee7e586fb34cfe89 |
File details
Details for the file reqdriver-0.1.2-py3-none-any.whl
.
File metadata
- Download URL: reqdriver-0.1.2-py3-none-any.whl
- Upload date:
- Size: 5.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3093dd17d25244642e7e5eeae0976457dbb16448260fba171d88556d28e9e153 |
|
MD5 | 606adb0e117f0cba96e1a951f8504d11 |
|
BLAKE2b-256 | 481a07bec935b369da7a269ecb8b2aa27f0eca2ac896d53a1042a1dbd9de7309 |