2017-09-06 1 views
-1

電子アプリ内のボタンをクリックすると、このnightmarejsコードが実行されます(新しいウィンドウを開いてスクリプトを実行します)。私は/(私はマックを持っている)電子アプリ内でナイトメアjsスクリプトを実行

var Nightmare = require('nightmare'); 
 
var nightmare = Nightmare({ 
 
    electronPath: require('${__dirname}/node_modules/electron'), 
 
    show: true 
 
}); 
 

 
nightmare 
 
    .goto('http://yahoo.com') 
 
    .type('form[action*="/search"] [name=p]', 'github nightmare') 
 
    .click('form[action*="/search"] [type=submit]') 
 
    .wait('#main') 
 
    .evaluate(function() { 
 
    return document.querySelector('#main .searchCenterMiddle li a').href 
 
    }) 
 
    .end() 
 
    .then(function (result) { 
 
    document.getElementById("results").innerHTML = result; 
 
    }) 
 
    .catch(function (error) { 
 
    console.error('Search failed:', error); 
 
    });

const electron = require('electron') 
 
const app = electron.app 
 
const BrowserWindow = electron.BrowserWindow 
 
let mainWindow; 
 

 
function createWindow() { 
 
    mainWindow = new BrowserWindow({ 
 
     title: "Dummy", 
 
     fullscreenable: false, 
 
     resizable: false, 
 
     alwaysOnTop: false, 
 
     width: 420, 
 
     height: 250, 
 
     'web-preferences': { 
 
      'web-security': false 
 
     } 
 
    }) 
 
    mainWindow.loadURL(`file://${__dirname}/index.html`) 
 
    mainWindow.on('closed', function() { 
 
     mainWindow = null 
 
    }) 
 
} 
 

 
app.on('ready', createWindow) 
 
app.on('window-all-closed', function() { 
 
    if (process.platform !== 'darwin') { 
 
     app.quit() 
 
    } 
 
}) 
 
app.on('activate', function() { 
 
    if (mainWindow === null) { 
 
     createWindow() 
 
    } 
 
})

おかげで、 バートラム

+0

あなたは/が開くスクリプトを発射するために使用しているコードは何ですか窓? – theGleep

+0

@theGleepちょうど感謝を追加しました。 –

答えて

0

:しかし、私はインターネットを介して検索し、何も私のために働いていません実行したいコードを起動するものは表示されません。

あなたが仕事をするために私にそれを与えた場合、私は2つのことを行うだろう:

  • あなたが「(./ mynighmare.jsを

    必要とすることができますので、関数内の悪夢コードをラップ").sleepPoorly()

  • index.htmlに、実際にコードを実行するための上記の行を呼び出すボタンを追加します。私の最初のドラフトが正しく動作しないので、私は、テストの全体の束にしてください

... :)

+0

OMGさん、ありがとうございました!しかし、新しいウィンドウで悪夢のスクリプトを開く方法を知っていますありがとう! –

+0

* for * onloadイベント中にrequire()...()を実行する別のhtmlページ( "nightmare.html"?)があります。 CreateWindow()と同じようにボタンをクリックすると新しいBrowserWindowが開きます。それが十分明確でないかどうか私に教えてください。 – theGleep

関連する問題