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



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

view-source:http://www.google.com/webhp?source=search_app

现在它已经打开并显示了,我只想阅读客户端窗口中的文本。(获取页面的上下文,或获取其对象(而不是创建新的浏览器对象),或其他什么。然后只需阅读页面。)

在Selenium,Splinter中有任何方法允许这样做吗?谢谢你的帮助。

如果你问是否可以连接到已经打开的浏览器,我相信答案是"否"。

您可以直接使用Selenium获取页面的Source:WebDriver.getPageSource().

但是,如果您使用view-source:url,浏览器将向您显示一个html页面,其中包含格式的源。例如,Firefox将每一行都封装在一个<span id="lineX"></span>中。不进行解析,只使用getPageSource而不使用view-source

请仔细阅读getPageSource:的文档

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

这是我过去常做的事情:

  1. 要求selenium打开浏览器
  2. 显示一个弹出窗口/消息窗口以暂停执行
  3. 在浏览器中打开URL并手动执行所有相关操作
  4. 完成后(即在目标页面上),我在弹出窗口上单击"确定",然后代码继续,提取/执行我们希望在当前浏览器中打开的目标页面上执行的任务

相关内容

  • 没有找到相关文章

最新更新