【发布时间】:2013-11-12 20:17:02
【问题描述】:
我正在尝试使用 PhantomJS(版本 1.9.2)打开一个本地 HTML 文件:
var page = require('webpage').create(), fs = require('fs'),
address = "/Full/Path/To/test.html";
console.log('isFile? ' + fs.isFile(address));
console.log('isReadable? ' + fs.isReadable(address));
page.open(address, function(status){
console.log('status? ' + status);
console.log(page.content)
phantom.exit();
});
首先,我检查我是否获得了正确的路径以及文件是否可以使用fs.isFile() 和fs.isReadable() 读取。然后我检查 phantomjs 是否成功打开文件(使用status)。独立于我总是得到的文件的实际内容:
isFile? true
isReadable? true
status? fail
<html><head></head><body></body></html>
所以文件和路径似乎没问题——但 PhantomJS 无法打开它! 有什么建议吗?
【问题讨论】:
-
你为什么不像我在这个答案中那样使用 page.onLoadFinished 回调? stackoverflow.com/a/7549515/541404
-
另外,您使用的是什么操作系统?您可能希望使用
fs.separator来获取适当的文件系统分隔符。例如,如果您在 Windows 中,则分隔符将为“\”,但如果您在 Unix\OS X 变体中,则将使用“/”。 -
我错过了“file:///”上的第三个“/”。它使幻影给了我成功的地位,但以 为内容。很奇怪。
标签: phantomjs