我正在使用linux和phantomjs来测试一些javascript
var page = require('webpage').create();
var fs = require('fs');
var address = system.args[1];
page.onConsoleMessage = function (msg) {
console.log('Page title is ' + msg);
};
page.open(address, function (status) {
//page.open("http://vedabase.net/sb/1/1/13/en", function (status) {
//page.open("file:///home/simha/.public_html/13.htm", function (status) {
//page.open("http://localhost/~simha/13.htm", function (status) {
page.evaluate(function () {
element2 = document.evaluate('html/body/table/following::p[1]',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
thisImg1 = element2.snapshotItem(0)
console.log(thisImg1);
thisImg1.childNodes[1].textContent = ""
element = document.evaluate('html/body/table | //p[text()="SYNONYMS"] | //p[text()="SYNONYMS"]/following-sibling::p[following::p[text()="TRANSLATION"]] | //p[text()="PURPORT"] | //p[text()="PURPORT"]/following-sibling::p|//a[text()="Bhaktivedanta VedaBase"]|//a[text()="Śrīmad Bhāgavatam"]|//a[text()="<<<"]/parent::*|//a[text()="<<<"]/parent::*/following::p',
document,
null,
XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
for (var i = 0; i < element.snapshotLength; i++) {
var thisImg = element.snapshotItem(i);
thisImg.parentNode.removeChild(thisImg);
}
console.log(document.title);
});
});
page.onLoadFinished = function () {
//page.render('googleScreenShot' + '.png');
fs.write('phantom.html', page.content, 'w');
}
我必须测试很多htmls。所以测试我使用了以下命令
find . -name "13.htm" -exec phantomjs 1.js {} \;
它说
ReferenceError: Can't find variable: system
1.js:3
因为我有一个包含子文件夹和许多这样的htmls的目录,我想使用phantomjs来修改它们。
答案 0 :(得分:5)
您必须使用system
加载require
模块,如下所示:
var system = require('system');
<强> API Reference System Wiki 强>
<强> Page Loading Code 强>