0

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

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

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

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

4

3 回答 3

1

如果您问是否可以附加到已经打开的浏览器,那么我相信答案是“不”。

于 2013-08-24T19:43:13.257 回答
0

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

但是,如果您使用浏览器,您会看到一个包含格式化源代码view-source:url的 html 页面。Firefox 例如将每一行包装在一个. 而不是解析这个只是使用without .<span id="lineX"></span>getPageSourceview-source

请仔细阅读以下文档getPageSource

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

于 2013-08-24T08:41:39.890 回答
0

这是我以前做的:

  1. 要求 selenium 打开浏览器
  2. 显示弹出/消息窗口以暂停执行
  3. 在浏览器中打开 URL 并手动执行所有相关操作
  4. 完成后(即在目标页面上),我在弹出窗口上单击“确定”,然后代码恢复,在浏览器中当前打开的目标页面上提取/执行我们想要的任务。
于 2013-08-24T08:54:11.537 回答