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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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

Hashes for reqdriver-0.1.2.tar.gz
Algorithm Hash digest
SHA256 424d5e4bdb003235c54ecc2798eba19f60eb03a8980b8e649427a0e6bef79073
MD5 020123ad76dbbf4a39dfcfce1fbb8614
BLAKE2b-256 52318cb580198398671b329ffd464a32e576e1369652647dee7e586fb34cfe89

See more details on using hashes here.

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

Hashes for reqdriver-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3093dd17d25244642e7e5eeae0976457dbb16448260fba171d88556d28e9e153
MD5 606adb0e117f0cba96e1a951f8504d11
BLAKE2b-256 481a07bec935b369da7a269ecb8b2aa27f0eca2ac896d53a1042a1dbd9de7309

See more details on using hashes here.

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