不安全 javascript 通过 npm 安装 casperjs 时尝试访问框架 windows
Unsafe javascript attempt to access frame when installing casperjs through npm windows
我已经通过 npm 在我的 windows 机器上安装了 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.
这是 CasperJS 和 1.9.8 版 PhantomJS 的已知问题。它什么都不做,错误只会在退出时打印出来。他们不会干扰您的脚本。有一个解决方法,它已合并到 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,对于请求 https 资源的站点,您将必须 运行 使用 --ssl-protocol=any
命令行选项。原因见我的回答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
使用
“phantomjs": "^1.9.9"
对于 caseperJs
casperjs --ssl-protocol=tlsv1 test run.js
我已经通过 npm 在我的 windows 机器上安装了 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.
这是 CasperJS 和 1.9.8 版 PhantomJS 的已知问题。它什么都不做,错误只会在退出时打印出来。他们不会干扰您的脚本。有一个解决方法,它已合并到 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,对于请求 https 资源的站点,您将必须 运行 使用 --ssl-protocol=any
命令行选项。原因见我的回答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
使用
“phantomjs": "^1.9.9"
对于 caseperJs
casperjs --ssl-protocol=tlsv1 test run.js