我有一种情况,来自HTTP请求的原始页面源代码包含一些我需要捕获的JSON数据-假设<code id="data">{'some':'json'}</code>
。但是JavaScript会执行,处理它并从DOM中删除数据,因此我在webdriver.page_source中看不到它。
有什么想法可以捕捉到这个吗?或者至少以某种方式禁用/暂停JavaScript,.get()
页面,从source_code
中提取我需要的内容,然后重新启用/取消暂停JavaScript?
答案 0 :(得分:0)
我觉得这有点脏,但是可以用。我需要在第一部分中使用硒。然后,我移交给了请求:
session = requests.Session()
for cookie in self.webdriver.get_cookies():
session.cookies.set(cookie['name'], cookie['value'])
response = session.get(self.webdriver.current_url).text
并简单地将内容写入临时文件,然后使用硒打开它:
response_file = utils.save_to_temp_file(response, extension='.html')
self.webdriver.get(f'file://{response_file}')`