Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.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阅读该文本_Python_Selenium_Selenium Webdriver_Splinter - Fatal编程技术网

Python 已打开的网页(源代码格式);只需要使用Selenium阅读该文本

Python 已打开的网页(源代码格式);只需要使用Selenium阅读该文本,python,selenium,selenium-webdriver,splinter,Python,Selenium,Selenium Webdriver,Splinter,假设我的浏览器中已经打开了一个选项卡。其网址为: view-source:http://www.google.com/webhp?source=search_app 现在它已经打开并显示,我只想阅读客户端窗口中的文本。(获取页面的上下文,或获取其对象(与创建新浏览器对象相反),或其他任何内容。然后只需阅读页面即可。) 硒,斯普林特,有什么方法可以做到这一点吗?感谢您的帮助。您可以使用Selenium直接获取页面的源代码: 但是如果使用查看源代码:url浏览器将显示一个包含格式化源代码的html

假设我的浏览器中已经打开了一个选项卡。其网址为:

view-source:http://www.google.com/webhp?source=search_app
现在它已经打开并显示,我只想阅读客户端窗口中的文本。(获取页面的上下文,或获取其对象(与创建新浏览器对象相反),或其他任何内容。然后只需阅读页面即可。)


硒,斯普林特,有什么方法可以做到这一点吗?感谢您的帮助。

您可以使用Selenium直接获取页面的源代码:

但是如果使用
查看源代码:url
浏览器将显示一个包含格式化源代码的html页面。例如,Firefox正在将每一行包装成一个
。只需使用
getPageSource
而不使用
view source
即可,而无需对其进行解析

请仔细阅读
getPageSource
的文档:

获取上次加载页面的源。如果页面在加载后被修改(例如,通过Javascript),则不能保证返回的文本是修改后的页面的文本。请查阅特定驱动程序的文档,以确定返回的文本是反映页面的当前状态还是web服务器上次发送的文本。返回的页面源是底层DOM的表示:不要期望它的格式化或转义方式与从web服务器发送的响应相同。把它看作是艺术家的印象


这是我过去常做的事:

  • 要求selenium打开浏览器
  • 显示弹出/消息窗口以暂停执行
  • 在浏览器中打开URL并手动执行所有相关操作
  • 完成后(即在目标页面上),单击弹出窗口上的“确定”,然后代码继续,提取/执行当前在浏览器中打开的目标页面上所需的任务

  • 如果您询问是否可以连接到已打开的浏览器,那么我相信答案是“否”。

    如果您只需要源代码,为什么要使用Selenium?只需使用urllib或其他工具获取页面,然后用beautiful soup或其他工具解析页面。我尝试使用urllib获取页面,但我需要维护当前正在使用的页面的页码上下文,并且存在大量JSON、doPostBack障碍,阻止我仅使用URL返回到原来的位置。我真的需要阅读我添加到浏览器顶部的选项卡的客户端区域上的内容,然后在完成后退出该选项卡,以保持对流程的位置感知。