网页已经打开(源格式); 只需要读取文本,使用Selenium(Web page already

2019-11-02 09:48发布

比方说,我在browswer已经打开的标签。 它的网址是:

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

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

是否有任何硒的方法,分裂允许吗? 谢谢你的帮助。

Answer 1:

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



Answer 2:

您可以直接硒获得页面的来源: WebDriver.getPageSource() 。

但是如果你使用view-source:url ,浏览器会为您呈现一个HTML页面,包括格式化的来源。 火狐例如被缠绕在每行中一个<span id="lineX"></span> 。 而不是分析这个只是用getPageSource没有view-source

请仔细阅读的文档getPageSource

获取最后加载页面的源代码。 如果页面加载后进行了修改(例如,通过JavaScript)的没有保证返回的文本是修改后的页面。 请参考特定的驱动程序的文件用于确定在返回的文本是否反映网页或文本的当前状态,最后由网络服务器发送。 返回的页面源是底层DOM的表示:不希望它被格式化或以相同的方式,从Web服务器发送的响应逃脱。 把它看成是一个艺术家的印象。



Answer 3:

这是我用来做:

  1. 问硒打开浏览器
  2. 显示弹出/消息窗口暂停执行
  3. 打开网址在浏览器和手动执行所有相关操作
  4. 当我完成了(即在目标页面上),我点击确定后弹出,然后将代码恢复,提取/算下来要在浏览器中当前打开的目标页面上的任务。


文章来源: Web page already open (in source format); just need to read that text, using Selenium