Selenium Python-获取网络响应主体

Selenium Python-获取网络响应主体,python,selenium,http,selenium-webdriver,xmlhttprequest,Python,Selenium,Http,Selenium Webdriver,Xmlhttprequest,我使用Selenium来响应来自网站的GET请求后接收到的数据。 网站调用的API不是公共的,因此如果我使用请求的URL检索数据,我会得到{“message”:“Unauthenticated.”} 到目前为止,我所做的只是检索响应的标题 我发现使用driver.execute\u cdp\u cmd('Network.getResponseBody',{…})可能是我问题的解决方案 以下是我的代码示例: 导入json 从selenium导入webdriver 从selenium.webdriv

我使用Selenium来响应来自网站的GET请求后接收到的数据。 网站调用的API不是公共的,因此如果我使用请求的URL检索数据,我会得到
{“message”:“Unauthenticated.”}

到目前为止,我所做的只是检索响应的标题

我发现使用
driver.execute\u cdp\u cmd('Network.getResponseBody',{…})
可能是我问题的解决方案

以下是我的代码示例:

导入json
从selenium导入webdriver
从selenium.webdriver.common.desired_功能导入DesiredCapabilities
能力=DesiredCapabilities.CHROME
能力[“goog:loggingpresfs”]={“性能”:“所有”}
driver=webdriver.Chrome(
r.“/chromedriver”,
期望的能力=能力,
)
def进程日志(日志):
log=json.load(log[“message”])[“message”]
如果日志[“方法”]中的(“Network.response”和log.keys()中的“params”):
headers=log[“params”][“response”]
body=driver.execute_cdp_cmd('Network.getResponseBody',{'requestId':log[“params”][“requestId”]})
打印(json.dumps(正文,缩进=4,排序键=True))
返回日志[“参数”]
日志=驱动程序。获取日志(“性能”)
响应=[processLog(log)用于登录日志]
不幸的是,
driver.execute\u cdp\u cmd('Network.getResponseBody',{…})
返回:

未知错误:未处理的检查器错误:{“code”:-32000,“消息”:“未找到具有给定标识符的资源”}
你知道我错过了什么吗?

您知道如何检索响应正文吗?


谢谢你的帮助

要检索响应正文,您必须专门收听网络。responseReceived:

def进程日志(日志):
log=json.load(log[“message”])[“message”]
如果日志[“方法”]中的(“Network.responseReceived”和log.keys()中的“params”):
body=driver.execute_cdp_cmd('Network.getResponseBody',{'requestId':log[“params”][“requestId”]})

然而,我最终使用了一种不同的方法,依赖于
请求
。我刚刚从浏览器控制台(网络>标题>请求标题>授权)检索到授权令牌,并使用它获取我想要的数据:

导入请求
def get_data():
url=“”
标题={
“授权”:“持票人”,
“内容类型”:“应用程序/json”
}
参数={
关键:价值,,
...
}
r=requests.get(url,headers=headers,params=params)
如果r.status_code==200:
返回r.json()

Hmm,我已经验证了方法是responseReceived,但是在
getResponseBody
之后,我仍然得到了您的原始错误