【发布时间】:2015-04-02 12:58:29
【问题描述】:
我正在为我工作的公司编写一个测试应用程序,使用 Node.js 和 Phantomjs。现在,我的代码的相关部分是这样的:
phantom.create(function (ph) {
ph.createPage(function (page) {
page.set('viewportSize', { width: 1920, height: 1080 });
page.set('settings.javascriptEnabled', true);
page.set('settings.loadImages', true);
page.set('settings.localToRemoteUrlAccess', true);
page.set('settings.userAgent', userAgentStrings[randomInt(0, 5)]);
page.set('settings.webSecurityEnabled', false);
page.set('settings.resourceTimeout', 5000);
page.open(URL, function (status) {
if (status == 'success') {
page.evaluate(function (result) {
return document.title;
}, function (result) {
setTimeout(function () {
log.info('Status: ', status);
ph.exit();
}, 60 * 1000);
});
} else if (status == 'fail') {
log.error('Status: ', status);
ph.exit();
}
});
});
});
我的问题是:有没有办法重构我的代码,使我可以从“phantom.create(...”块外部调用“page.open(...”函数)?
我计划实现 node-cron 并有一段代码用于设置页面的所有选项,而另一段代码将实际用于打开页面。最后,开头部分将由 node-cron 处理,无限重复。
【问题讨论】:
-
问题是,你为什么要这么做?您认为您是否因此而节省了一些资源,或者您是否认为您提高了响应时间?我认为你不会实现其中任何一个。
标签: node.js refactoring phantomjs