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.
Contact
Project Link: https://github.com/your_username/reqdriver
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
Hashes for reqdriver-0.1.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b24759184b1f4f8e997ff7994fa0f1909d3d135bc86eb2f043d8815bb726786d |
|
MD5 | bc6d295d7f3701661c51572a1f1a8a1f |
|
BLAKE2b-256 | f1aa9b759a8d16c933c1e505bf43285085a7e328175d9509e549d0a0b407aef5 |