pythonseleniumselenium-webdriverseleniumwire

Seleniumwire get Response text


I'm using Selenium-wire to try and read the request response text of some network traffic. The code I have isn't fully reproducable as the account is behind a paywall.

The bit of selenium-wire I'm currently using using is:

for request in driver.requests:
    if request.method == 'POST' and request.headers['Content-Type'] == 'application/json':
        # The body is in bytes so convert to a string
        body = driver.last_request.body.decode('utf-8')
        # Load the JSON
        data = json.loads(body)

Unfortunately though, that is reading the payload of the request enter image description here

and I'm trying to parse the Response: enter image description here


Solution

  • You need to get last_request's response:

    body = driver.last_request.response.body.decode('utf-8')
    data = json.loads(body)