出于比较目的,我需要获得browser.page_source
的 ctrl-u 等效项。
使用browser.execute_script
或其他方法可以做到吗?
我尝试了各种方法,例如browser.get(view-source:https://www.example.com)
,但没有找到解决方法。
答案 0 :(得分:1)
如果我没记错,您想比较原始HTML ctrl+U
和渲染的HTML browser.page_source
,为此您可以使用requests
import requests
originalHTML = requests.get('http://...').text
print(originalHTML)
或者您可以为view-source:
url = 'https://..../'
browser.get(url)
renderedHTML = browser.page_source
# open blank page because JS cannot open special URL like `view-source:`
browser.execute_script("window.open('about:blank', '_blank')")
# switch to tab 2
browser.switch_to_window(browser.window_handles[1])
browser.get("view-source:" + url)
originalHTML = originalHTML = browser.find_element_by_css_selector('body').text
# switch to tab 1
#browser.switch_to_window(browser.window_handles[0])
答案 1 :(得分:0)
它对我来说很好用,我想这是引号的问题,
browser.get('https://www.example.com')
browser.page_source
您也可以使用browser.execute_script()
browser.execute_script('return document.documentElement.outerHTML')