python硒-获取(ctrl-u)等效的page_source

时间:2018-12-18 12:24:51

标签: python selenium

出于比较目的,我需要获得browser.page_source ctrl-u 等效项。

使用browser.execute_script或其他方法可以做到吗?

我尝试了各种方法,例如browser.get(view-source:https://www.example.com),但没有找到解决方法。

2 个答案:

答案 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')