通过npm窗口安装casperjs时,不安全的javascript尝试访问框架

时间:2015-03-29 08:05:47

标签: phantomjs casperjs

我已经通过npm在我的windows machina上安装了casperjs和phantomjs。但是我得到了这个问题。

C:\>casperjs sample.js

C:\>Unable to open file: sample.js
Unsafe JavaScript attempt to access frame with URL about:blank from frame
with URL file:///C:/Users/vini/AppData/Roaming/npm/node_modules/casperjs/bin/bootstrap.js.
Domains, protocols and ports must match.

2 个答案:

答案 0 :(得分:10)

这是CasperJS和PhantomJS的1.9.8版本的已知问题。它没有做任何事情,只在退出时打印错误。他们不会干扰你的剧本。有一个解决方法,它被合并到GitHub上的master分支,但它还没有作为CasperJS的发布版本(最新的是1.1-beta3)。

最简单的方法解决这个问题的方法是降级到PhantomJS 1.9.7。由于您正在使用NPM,因此可以轻松完成

npm -g install phantomjs@1.9.7-15

PhantomJS版本与NPM phantomjs软件包版本匹配至1.9.7,然后一切都中断。您可以使用npm show phantomjs检查版本。

如果降级到版本1.9.7,则必须使用--ssl-protocol=any命令行选项运行请求https资源的站点。原因显示在我的回答here.

解决此问题的正确方法install a new version from git。这将使您不仅可以使用PhantomJS 1.9.8而不需要额外的错误线,而且还可以使用CasperJS 1.1-beta3无法实现的PhantomJS 2。

参考文献:
GitHub issue #1068
Workaround for CasperJS #1139
PhantomJS issue on SO

答案 1 :(得分:0)

使用 " phantomjs": "^1.9.9" 而对于caseperJs

casperjs --ssl-protocol=tlsv1 test  run.js