Подтвердить что ты не робот

Как заставить Firefox работать с Selenium WebDriver на Mac OSX

Я пытаюсь настроить параметры прокси для 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. 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()

4b9b3361

Ответ 1

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

Либо укажите папку (в которой ваш бинарный код Firefox) в вашей системной переменной PATH - здесь, как.

Или вызовите

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

Для Mac:

  • Используйте selenium jar 2.44.0 (убедитесь, что серверный сервер selenium равен 2.44.0)
  • firefox version 33 (https://ftp.mozilla.org/pub/mozilla.org/firefox/releases/33.0/mac/en-US/)
  • В терминале 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();

Ответ 5

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

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

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

Ответ 6

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

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

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

Ответ 7

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

Я обнаружил, что моя проблема заключалась в том, что переименованное приложение Firefox в "Firefox 22". Предполагается, что материал WebDriver будет просто "Firefox".

Ответ 8

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