NodeJS Selenium-webdriver FirefoxのgeckodriverはPATHを変更せずにブラウザのバイナリの場所を設定します

現在、私はWindows 7のfirefoxのためのNodeJSベースのテストのために次の設定をしています

Firefox 61.0.1
"geckodriver": "^1.11.0",
"selenium-webdriver": "^4.0.0-alpha.1"

しかし、私がコマンドを実行すると

let driver = await new webDr.Builder().withCapabilities(webDr.Capabilities.firefox()).build(); 

私はエラーを得る

“SessionNotCreatedError:予想されるブラウザのバイナリロケーションですが、デフォルトロケールではバイナリが見つからず、
‘moz:firefoxOptions.binary’機能は提供されず、コマンドラインにはバイナリフラグが設定されていません”

これは、ほとんどのチュートリアルでPATH変数を私のウィンドウに設定できなかったためです。このようにしてください。

“クロムドライバとgeckodriverドライバの場所をシステムPATH変数に追加します。これはハードディスクのルートからドライバを含むディレクトリへの絶対パスでなければなりません。たとえば、Mac
OS Xマシンを使用している場合、名前はボブで、我々のホームフォルダのルートにドライバを置くと、パスは/
Users/bobになります。

しかし、当社のラップトップは以下の変更を制限しています:システムフォルダ、レジストリ、残念ながら.. PATH変数。

PATH変数を変更せずにFirefoxのバイナリをどのように指すことができますか?

私がfirefoxdriverに切り替えると、私はまだ同じディレマを持っていますか?

UPDATE:

私はfirefoxファイルのドキュメントに基づいて次のことを試みました:

      const firefox = require('selenium-webdriver/firefox');

      let options = new firefox.Options().setBinary(os.homedir() + '/AppData/Local/Mozilla Firefox'); 

      let driver = new webDr.Builder()
          .forBrowser('firefox').setFirefoxOptions(options).build();

しかし、エラーは今言う…

“SessionNotCreatedError:ブラウザ(パス)を起動できませんでした:Permission
Denied”

どうすればこの問題を回避できますか?

ベストアンサー

私は答えを見つけた オプションで表示されます。パスだけでなく、 firefox.exe
自体を指すはずです

  const firefox = require('selenium-webdriver/firefox');

  let options = new firefox.Options().setBinary(os.homedir() + '/AppData/Local/Mozilla Firefox/firefox.exe'); 

  let driver = new webDr.Builder()
      .forBrowser('firefox').setFirefoxOptions(options).build();

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です