我在使用PhantomJS时出现了一个奇怪的问题,并且在从我的rails控制器内部调用代码并且从同一个应用程序打开一个页面时捕获屏幕截图 - 即。本地主机:3000 /我/页。在导轨控制器外部(导轨控制台或直接从终端,它工作正常)。 google.com,amazon.com等外部网址也可以正常使用。
我能看到的内容:
phantomjs在page.onLoadStarted
之后停止,并且永远不会超越它。
我尝试过的事情:
不同的服务器: Webrick,Puma和Unicorn都有同样的问题。
不同的IP: 我已经更改了script.js文件中的url以加载localhost,一个内部IP和一个连接到rails app的外部IP。他们都失败了。
的script.js
var page = require('webpage').create();
page.open('http://localhost:3000/my/page');
page.onLoadFinished = function() {
page.render('image.png');
phantom.exit();
}
我不认为问题出在script.js上,因为如果我在终端中运行phantomjs script.js
,它就会起作用。
是否无法从初始化phantomjs的同一台服务器获取屏幕截图,即使它是不同的页面/控制器?