Skip to main content

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.

banner

PyPI Version GlizzykingDreko

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reqdriver-0.1.2.tar.gz (4.9 kB view hashes)

Uploaded Source

Built Distribution

reqdriver-0.1.2-py3-none-any.whl (5.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page