Как заставить Firefox работать с Selenium WebDriver на Mac OSX - PullRequest
15 голосов
/ 28 марта 2012

Я пытаюсь настроить параметры прокси для 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: не удается найти двоичный файл firefox в PATH.

Убедитесь, что Firefox установлен. ОС выглядит так: 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()

Ответы [ 8 ]

18 голосов
/ 28 марта 2012

Я полагаю, у вас есть несколько вариантов:

Либо укажите папку (в которой находится ваш бинарный файл Firefox) в системной переменной PATH - вот как .

Или позвоните

WebDriver driver = new FirefoxDriver(new FirefoxBinary(new File("path/to/your/firefox.exe")), profile);
11 голосов
/ 05 февраля 2015

Для Mac, если вы установили FireFox через brew cask, просто символически свяжите его с /Applications.

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

Это сработало для меня.

3 голосов
/ 26 февраля 2015

Для Mac:

  1. Использовать jar селена 2.44.0 (убедитесь, что 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. Код будет выглядеть так:

String 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 голосов
/ 02 октября 2014

В моем случае мне нужно переместить Firefox.app из / Users / username / Applications в / Applications

1 голос
/ 19 сентября 2013

В Mac OS X я получал ошибку WebDriver, такую ​​как «Не удалось найти бинарный файл Firefox (os = macosx)» при попытке запустить скрипт.

Я обнаружил, что моя проблема в том, что я переименовал мое приложение Firefox в «Firefox 22».Вещи WebDriver ожидали только «Firefox».

1 голос
/ 20 мая 2013

Я не уверен насчет Mac, но в Windows я решил эту проблему.

Убедитесь, что вы используете 32-битную версию nunit. Firefox - это 32-битный браузер.

У меня 64-битная ОС Windows, но Firefox - это 32-битный браузер. Я пытался использовать 64-битную версию nunit, которая выдавала ошибку «Cannot fine firefox binary in PATH». Я решил это с помощью 32-битной версии nunit. По сути, в папке nunit есть два exe-файла: nunit.exe и nunit-x86.exe. Если вы получаете эту ошибку «Не удается выполнить бинарный файл Firefox в PATH», скорее всего, вам нужно использовать 32-битную версию nunit - Nunit-x86.exe.

1 голос
/ 04 июня 2012

Я сталкивался с этой проблемой раньше, ее очень легко исправить.

на Windows , измените переменные среды, добавьте firefox path к переменной PATH.

это должно быть похоже на Mac , просто export PATH=/my/firefox/path/bin:$PATH в файле вашего профиля.

0 голосов
/ 10 августа 2015

Проблема такого рода, возникающая из-за того, что веб-драйверу selenium не удается найти файлы .exe Firefox. Пожалуйста, проверьте, есть ли в C: \ Program Files (x86) \ Mozilla Firefox exe-файл в этой папке, и не забудьте установить переменную окружения, имеющую путь java jdk. Источник: - http://www.tech4crack.com/solved-cannot-find-firefox-binary-in-path/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...