我已经通过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.
答案 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