web-dev-qa-db-ja.com

FirefoxをMac OSXでSelenium WebDriverと連携させる方法

WebDriverのプロキシ設定を構成しようとしているので、次のコードを使用しました....

_FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("network.proxy.type", 1);
profile.setPreference("network.proxy.http","207.229.122.162");
profile.setPreference("network.proxy.http_port", 3128); 
WebDriver driver = new FirefoxDriver(profile);
Selenium = new WebDriverBackedSelenium(driver, "http://www.example.com/");
_

ファイルで実行を実行した後、次のような例外が発生しています...

org.openqa.Selenium.WebDriverException:PATHにfirefoxバイナリが見つかりません。

Firefoxがインストールされていることを確認してください。 OSは次のように表示されます:MAC

システム情報:os.name: 'Mac OS X'、os.Arch: 'x86_64'、os.version:'10 .6.8 '、

Java.version: '1.6.0_29'

ドライバー情報:driver.version:FirefoxDriver

誰がfirefoxprofile()へのパスをどのように、どこで提供するかについて私を助けてもらえますか

15
Aspirant

いくつかの選択肢があると思います:

PATHシステム変数でフォルダー(Firefoxバイナリがあるフォルダー)を指定します- 方法はこちら

または電話する

WebDriver driver = new FirefoxDriver(new FirefoxBinary(new File("path/to/your/firefox.exe")), profile);
18
Petr Janeček

Macの場合、Brew Caskを使用してFireFoxをインストールした場合は、/ Applicationsにシンボリックリンクします。

cd /Applications
ln -s /Users/<your-username>/Applications/Firefox.app Firefox.app

これは私のために働いた。

11
mschenk

Mac用:

  1. Selenium jar 2.44.0を使用します(Seleniumサーバーjarが2.44.0であることを確認してください)
  2. firefoxバージョン33( https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/mac/en-US/
  3. Macのターミナルで、次のコマンドを使用してfirefoxのプロファイルを作成します: "/Applications/Firefox.app/Contents/MacOS/firefox-bin" -p

    1. プロファイルの作成中に、.defaultが付いたプロファイルのパスが表示されます。プロファイルパスのコードに同じものを入力する場合は、このことに注意してください。

    2. コードは次のようになります。

文字列profilePath = "/ Users/admin/Library/ApplicationSupport/Firefox/Profiles/4duhjf19.default";

                System.out.println("profilePath: "+profilePath);
                File checkProfile = new File(profilePath);
                File[] allFolder = checkProfile.listFiles();
                for (int i = 0; i < allFolder.length; i++) {

                    if (allFolder[i].getName().endsWith(".default")) {
                        profilePath = profilePath + allFolder[i].getName();
                        break;
                    }
                }
FirefoxProfile firefoxprofile1 = new FirefoxProfile(new File(
                        profilePath));
                System.out.println("profile path : " + firefoxprofile1);
                driver = new FirefoxDriver(firefoxprofile1);
                System.out.println("webdriver FF");
                driver.manage().deleteAllCookies();
3
Barani r

私の場合、Firefox.appを/ Users/username/Applicationsから/ Applicationsに移動する必要があります

3
user313216

Mac OS Xで、スクリプトを実行しようとすると、「Firefoxバイナリ(os = macosx)が見つかりませんでした」などのWebDriverエラーが表示されました。

私の問題は、Firefoxアプリの名前が「Firefox 22」に変更されたことであることがわかりました。 WebDriverスタッフは「Firefox」だけを期待していました。

1
Vince

Macについてはわかりませんが、Windowsではこの問題を解決しました。

Nunitの32ビットバージョンを使用していることを確認してください。 Firefoxは32ビットのブラウザーです。

64ビットのWindows OSを使用していますが、Firefoxは32ビットのブラウザーです。私は64ビットバージョンのnunitを使用しようとしていましたが、これはこの「PATHでfirefoxバイナリを微調整できません」というエラーを出していました。 32ビットバージョンのnunitを使用してこれを解決しました。基本的に、nunitフォルダーには、nunit.exeとnunit-x86.exeの2つのexeファイルがあります。この「PATHでfirefoxバイナリを微調整できません」というエラーが表示される場合は、nunitの32ビットバージョンであるNunit-x86.exeを使用する必要があります。

1
David B

前にこの問題に遭遇しましたが、修正するのはとても簡単です。

on Windows、環境変数を変更し、firefox pathPATH変数に追加します。

プロファイルファイルのMac、ちょうどexportPATH=/my/firefox/path/bin:$PATHで同様のはずです。

1
Dan

Selenium WebドライバーがFirefoxの.exeファイルを見つけられないために取得したこの種の問題。 C:\ Program Files(x86)\ Mozilla Firefoxの場所にexeファイルがあるかどうかを確認し、Java jdkパスを持つ環境変数を設定することを忘れないでください。ソース:- http://www.tech4crack.com/solved-cannot-find-firefox-binary-in-path/

0
Techie Buddhas