所以我正在创建一个使用nightmareJS和请求的脚本。我正在请求从网页抓取数据,然后让nightmareJS导航到页面。然后我使用
将javascript文件注入噩梦会话.inject('js', 'injectFile.js')
这一切都很完美,但我试图实现其他目的。在使用请求从其他页面获取数据后,我想将该数据传递到injectFile.js文件中。例如,我会得到一个请求的网址。然后在调用时在injectFile.js文件中使用该url。无论如何/模块实现这一点?提前致谢
答案 0 :(得分:0)
执行此操作的最佳方法是在injectFile.js
中定义一个函数,这样无论您执行什么操作都不会在注入文件时立即运行,但只有在您调用该函数时才会运行:
function doStuff(params) {
// do stuff with params
// (this probably contains your entire injectFile.js script)
}
然后使用nightmare.evaluate
在将其注入浏览器上下文后调用该函数:
nightmare.evaluate(function(params) {
doStuff(params);
}, yourFavoriteParamValues)