【发布时间】:2015-07-02 05:35:07
【问题描述】:
我需要浏览一个页面,从中检索数据并通过 HTTP 请求将数据发送到我的服务。据我所知,CasperJS/PhantomJS 只能与一个 Web 资源同时工作。如何绕过这个限制?
UPD:我需要从 CasperJS/PhantomJS 端发出请求,而不是通过 evaluate() 从页面上下文发出请求。
【问题讨论】:
-
@Artjom B.:我不想使用 AJAX。
-
你为什么有这个限制? AJAX 请求和其他请求一样。如果您不想这样,那么您需要打开该页面。
-
我必须测试一个网络聊天应用程序并且也遇到了这个限制:casperjs 不能同时处理两个窗口。 Phantomjs 可以 做到,但 API 很笨重。于是我在 npm 和 github 上搜索了一下,发现了 horseman.js。与 casper 不同,horseman 是同步的,因此可以同时打开两个网页。最重要的是,如果您不想打开单独的“窗口”来操作另一个页面,那么 horseman.js 支持浏览器选项卡。
-
@slebetman CasperJS 完全可以打开another tab。它只是有点笨拙,在测试环境中不起作用。
标签: javascript http phantomjs casperjs headless-browser