Nightmareにはelectronが内蔵されています。
例えば、Nightmare v3.0.2ではelectron v2.0.18が内蔵されています。
執筆時のelectronの最新バージョンはv13.1.7。
Nightmareに内蔵されているelectronは結構古めです。
もちろん、一般的なWEBサイトではあれば十分機能します。ただ、古いelectronでは動作しないようなWEBサイトもあるので、問題となってしまうこともあります。
Nightmareを使いたい、でもelectronのバージョンも指定したい。こんなケースの対策方法を紹介します。
特定バージョンのelectronをインストール
まず、使用したいバージョンのelectronをインストールします。
例えば、v4.0.0をインストールしたい場合はこんな感じ。
npm install electron@4.0.0
Nightmareでelectronを指定
Nightmareをインスタンス化する際に先程インストールしたelectronを指定します。
こんな感じ。
var Nightmare = require('nightmare'); var nightmare = Nightmare({ electronPath: require('electron') });
これで、Nightmare内蔵のelectronではなく、個別にインストールしたelectronを使用することができます。
Nightmare内蔵のelectronとバージョンがかけ離れたelectronを指定すると互換性がないので注意しましょう。