運行在桌面上的Node.js是否可以生成Chrome瀏覽器窗口?我想在Node.js接收事件時啓動一個提供窗口大小和位置的Chrome瀏覽器。Node.js可以調用Chrome嗎?
sys shell命令是唯一的方法嗎?
運行在桌面上的Node.js是否可以生成Chrome瀏覽器窗口?我想在Node.js接收事件時啓動一個提供窗口大小和位置的Chrome瀏覽器。Node.js可以調用Chrome嗎?
sys shell命令是唯一的方法嗎?
var exec = require('child_process').exec
exec('open firefox www.google.pt' , function(err) {
if(err){ //process error
}
else{ console.log("success open")
}
})
這將打開火狐在谷歌網頁從的NodeJS腳本,鉻應該是相同的
什麼是「開放」命令?這是OSX嗎? –
'open chrome'在我的Mac OSX 10.8.2上沒有做任何事情(顯然安裝了Chrome) –
不適用於Chrome瀏覽器! – Adaptabi
是的,我想你會需要逃離殼然後打開鉻。
節點只能調用UNIX/Windows命令,因此只能使用sys shell命令。
我打開窗戶一新的Firefox標籤瀏覽: https://github.com/Sequoia/FTWin/blob/master/FTWin.n.js
最顯着的部分:
var cp = require('child_process'),
url_to_open = 'http://duckduckgo.com/';
cp.spawn('c:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe', ['-new-tab', url_to_open]);
注:
這個調用相當於在Windows命令行鍵入"c:\Program Files (x86)\Mozilla Firefox\firefox.exe" -new-tab http://duckduckgo.com
。
對於鉻,你想要的東西就像D:\Users\sequoia\AppData\Local\Google\Chrome\Application\chrome.exe --new-tab http://duckduckgo.com/
我會讓你的工作你自己的child_process版本;)
參考文獻:
要啓動Chrome瀏覽器與Windows中的選項我試過, 'cp.spawn('c:\\ Program Files(x86)\\ Google \\ Chrome \\ Application \\ chrome.exe',['--user-data-dir ','C:\ chrome-path']'看起來'C:\ chrome-path'在這種情況下被認爲是url。任何想法都可以解決這個問題?謝謝! – Prasad19sara
嘗試'['--user-data-dir = C:\ chrome-path']'?或者換成'['--user-data-dir',''C:\ chrome-path'']'或者嘗試轉義斜線'['--user -data-dir','C:\\ chrome-path']'祝好運! –
MacOSX上
var childProc = require('child_process');
childProc.exec('open -a "Google Chrome" http://your_url', callback);
//Or could be: childProc.exec('open -a firefox http://your_url', callback);
多一點:
隨着opn:
const opn = require('opn');
opn('http://siteurl.com/', {app: ['google chrome']});
結帳https://www.npmjs.com/package/chrome-launcher:
啓動Chrome瀏覽器:
const chromeLauncher = require('chrome-launcher');
chromeLauncher.launch({
startingUrl: 'https://google.com'
}).then(chrome => {
console.log(`Chrome debugging port running on ${chrome.port}`);
});
啓動無頭鉻:
const chromeLauncher = require('chrome-launcher');
chromeLauncher.launch({
startingUrl: 'https://google.com',
chromeFlags: ['--headless', '--disable-gpu']
}).then(chrome => {
console.log(`Chrome debugging port running on ${chrome.port}`);
});
鉻發射器打開一個遠程調試端口,因此你也可以使用DevTools protocol控制瀏覽器實例。
Puppeteer是另一種啓動Chrome並使用高級API與其交互的方式。
您想在哪個操作系統上啓動Chrome? –