【发布时间】:2013-07-13 02:35:20
【问题描述】:
我有一个网络爬虫,我想将它检索到的 html+javascript 传递给 selenium,这可能吗?为了澄清我不想使用 webdriver.get 来检索带有 selenium 的页面,因为我的爬虫更快。
【问题讨论】:
-
将其保存到文件中,然后在 Selenium 中使用“file://somepath”打开它?
-
将其传递给 selenium 后,我希望页面上的 javascript 能够运行。
-
@dilbert 好的,所以我将 html 页面保存到一个文件并使用 webdriver.get(file path) 但没有加载 javascript,但是我可以获取 html 页面的标题。当我从服务器获取 html 页面时,javascript 确实加载了。
-
javascript 可能是 AJAX,因此代码期望从给定域加载,当它尝试从“域”加载后续数据时失败。如果您使用网络爬虫来获取这些页面,为什么不尝试另一种方式呢?使用 Selenium 直接加载页面并运行 selenium_browser.page_source,其中 selenium_browser 是您的 selenium python 对象。这将返回页面源,包括在该时间点之前对文档所做的 AJAX 更改。我已经为我编写的刮板做了这个,并且似乎工作得很好(除了 Firefox 很慢)。
标签: javascript python selenium webdriver