Skip to content

Documenting the selenium-wire integration with the Driver() manager #2145

Open
@mdmintz

Description

@mdmintz

Documenting the selenium-wire integration with the Driver() manager

Here's an example of the selenium-wire integration with the Driver manager:

from seleniumbase import Driver

driver = Driver(wire=True, headless=True)
try:
    driver.get("https://wikipedia.org")
    for request in driver.requests:
        print(request.url)
finally:
    driver.quit()

Here's the output of that:

https://accounts.google.com/ListAccounts?gpsia=1&source=ChromiumBrowser&json=standard
https://wikipedia.org/
https://www.wikipedia.org/
https://www.wikipedia.org/portal/wikipedia.org/assets/js/index-24c3e2ca18.js
https://www.wikipedia.org/portal/wikipedia.org/assets/img/[email protected]
https://www.wikipedia.org/portal/wikipedia.org/assets/js/gt-ie9-ce3fe8e88d.js
https://www.wikipedia.org/portal/wikipedia.org/assets/img/sprite-de847d1a.svg
https://www.wikipedia.org/portal/wikipedia.org/assets/img/[email protected]

The wire integration can also be activated via command-line option: --wire


Here's a more advanced example:

from seleniumbase import Driver

def intercept_response(request, response):
    print(request.headers)

driver = Driver(wire=True)
try:
    driver.response_interceptor = intercept_response
    driver.get("https://wikipedia.org")
finally:
    driver.quit()

Here's some output from running that:

sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "macOS"
upgrade-insecure-requests: 1
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
sec-fetch-site: none
sec-fetch-mode: navigate
sec-fetch-user: ?1
sec-fetch-dest: document
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9

sec-ch-ua: "Chromium";v="122", "Not(A:Brand";v="24", "Google Chrome";v="122"
sec-ch-ua-mobile: ?0
user-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36
sec-ch-ua-platform: "macOS"
accept: */*
sec-fetch-site: same-origin
sec-fetch-mode: no-cors
sec-fetch-dest: script
referer: https://www.wikipedia.org/
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9
cookie: WMF-Last-Access-Global=22-Feb-2024;

And note, (since it gets asked a lot), wire mode is not compatible with uc mode!

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions