2017-10-20 82 views
0

因此,我創建了一個使用nightmareJS和請求的腳本。我讓請求從網頁抓取數據,然後讓惡夢導航到頁面。我然後使用如何使用參數加載外部文件

.inject('js', 'injectFile.js') 

這一切能夠完美地注入一個javascript文件到噩夢會議,即時通訊卻試圖達到別的東西。在使用請求從其他頁面獲取數據後,我想將這些數據傳遞到injectFile.js文件。例如,我會得到一個請求的網址。然後在調用injectFile.js文件時使用該URL。無論如何/模塊來實現這一點?在此先感謝

回答

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)