Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python selenium-get(ctrl-u)等效页面\源代码_Python_Selenium - Fatal编程技术网

python selenium-get(ctrl-u)等效页面\源代码

python selenium-get(ctrl-u)等效页面\源代码,python,selenium,Python,Selenium,为了便于比较,我需要获得与浏览器相当的ctrl-u。page\u source 是否可以使用浏览器执行脚本或其他方法 我尝试过各种方法,如browser.get(查看源代码:https://www.example.com)但还没有找到解决方案。如果我没说错的话,您希望比较原始htmlctrl+U和呈现的htmlbrowser.page\U source,您可以使用请求 import requests originalHTML = requests.get('http://...').text

为了便于比较,我需要获得与浏览器相当的ctrl-u。page\u source

是否可以使用
浏览器执行脚本
或其他方法


我尝试过各种方法,如
browser.get(查看源代码:https://www.example.com)
但还没有找到解决方案。

如果我没说错的话,您希望比较原始html
ctrl+U
和呈现的html
browser.page\U source
,您可以使用
请求

import requests

originalHTML = requests.get('http://...').text
print(originalHTML)
或者您可以为
查看源代码:

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])

如果我没说错的话,您希望比较原始html
ctrl+U
和呈现的html
browser.page\U source
,为此您可以使用
请求

import requests

originalHTML = requests.get('http://...').text
print(originalHTML)
或者您可以为
查看源代码:

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])

这对我来说很好,我想这是引用的问题

browser.get('https://www.example.com')
browser.page_source
您也可以使用
browser.execute\u script()


这对我来说很好,我想这是引用的问题

browser.get('https://www.example.com')
browser.page_source
您也可以使用
browser.execute\u script()


browser.get('view-source:https://www.example.com'); html=browser.page\u source
…。不将(ctrl-u)文本返回到
html
变量中…。。另外,这需要在一个按钮点击时发生,该按钮没有提供地址来将
查看源代码:
附加到开头。我可以在单击按钮后提取url…并附加
查看源代码:
,然后重新加载url…但这也需要加载相同的页面twice@Rhys,你能用准确的场景和问题描述更新你的问题吗?我能添加的只是一个测试的示例站点。最简单的问题是…将所有ctrl-u文本放入一个变量(不向url添加视图源代码)下面是示例站点
https://www.blsst.co.nz/
…。一个可能支持您的答案的方法是物理调用ctrl+u快捷键,从而在不重新加载页面的情况下打开一个新选项卡。但我不知道该怎么做。然后以某种方式将显示的html复制到变量中参见脚本中的注释回答
JS无法打开特殊URL,如查看源:
browser.get('view-source:https://www.example.com'); html=browser.page\u source
…。不将(ctrl-u)文本返回到
html
变量中…。。另外,这需要在一个按钮点击时发生,该按钮没有提供地址来将
查看源代码:
附加到开头。我可以在单击按钮后提取url…并附加
查看源代码:
,然后重新加载url…但这也需要加载相同的页面twice@Rhys,你能用准确的场景和问题描述更新你的问题吗?我能添加的只是一个测试的示例站点。最简单的问题是…将所有ctrl-u文本放入一个变量(不向url添加视图源代码)下面是示例站点
https://www.blsst.co.nz/
…。一个可能支持您的答案的方法是物理调用ctrl+u快捷键,从而在不重新加载页面的情况下打开一个新选项卡。但我不知道该怎么做。然后以某种方式将显示的html复制到一个变量中参见脚本中的注释回答
JS无法打开特殊的URL,如查看源代码:
谢谢,我尝试了这个。它会在html结尾处返回附加数据,并返回不正确的制表符、间距和换行符。因为它返回的是unicode,所以会得到换行符和制表符。如果换行符和制表符是您唯一的问题,您可以编写一个帮助函数来删除它们。您可以相应地使用split()或strip()。记住这一点很好。如果您检查
documentElement.outerHTML
与ctrl+u源代码的对比,您将在页面底部看到其他代码。对于上面的例子。我猜还有更多的例子。汉克斯,我试过这个。它会在html结尾处返回附加数据,并返回不正确的制表符、间距和换行符。因为它返回的是unicode,所以会得到换行符和制表符。如果换行符和制表符是您唯一的问题,您可以编写一个帮助函数来删除它们。您可以相应地使用split()或strip()。记住这一点很好。如果您检查
documentElement.outerHTML
与ctrl+u源代码的对比,您将在页面底部看到其他代码。对于上面的例子。我猜还有更多的例子