njzt Ответов: 1

Как заставить selenium webdriver работать с MAC OS


Уважаемый друг,

У меня возникла проблема с webdriver на MAC OS, не могу открыть firefox.
Вот ниже мой код. Версия Firefox-45.01 esr.
кто-нибудь может помочь?
Спасибо за аванс :)

public static void main(String[] args){
    WebDriver driver = null;
    String routerURL = "https://www.google.com/";

    System.setProperty("webdriver.firefox.bin", "/Applications/Firefox.app/Contents/MacOS/firefox-bin");

    System.out.println("ready to open firefox");
    try{
        driver = new FirefoxDriver();
        driver.get(routerURL);
    }catch(Exception e){
        System.out.println("can not open firefox");
        e.printStackTrace();
        driver.close();
    }
    System.out.println("open firefox");
}


Вот журнал:
ready to open firefox
can not open firefox
java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.gecko.driver system property; for more information, see https://github.com/mozilla/geckodriver. The latest version can be downloaded from https://github.com/mozilla/geckodriver/releases
	at com.google.common.base.Preconditions.checkState(Preconditions.java:199)
	at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:109)
	at org.openqa.selenium.firefox.GeckoDriverService.access$100(GeckoDriverService.java:38)
	at org.openqa.selenium.firefox.GeckoDriverService$Builder.findDefaultExecutable(GeckoDriverService.java:91)
	at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:296)
	at org.openqa.selenium.firefox.FirefoxDriver.createCommandExecutor(FirefoxDriver.java:245)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:220)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:215)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)
	at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:124)
	at com.router.crack.routerCrack.main(routerCrack.java:23)
Exception in thread "main" java.lang.NullPointerException
	at com.router.crack.routerCrack.main(routerCrack.java:28)


Что я уже пробовал:

Я пытался использовать Системы.методов-setproperty(), и изменить версию firefox с 48 на 45 esr, но все равно не может работать.

David_Wimbley

Исключение говорит вам, что делать, вы должны посетить эти ссылки и посмотреть, что они говорят о вашей проблеме.

Путь к исполняемому файлу драйвера должен быть задан системным свойством webdriver.gecko.driver; дополнительные сведения см. В разделе https://github.com/mozilla/geckodriver. Последнюю версию можно скачать с сайта https://github.com/mozilla/geckodriver/releases

1 Ответов

Рейтинг:
12

njzt

1. Загрузите пакет geckodriver с сайта github
[^]
2. разверните файл tar в вашем пути

3. Установите гекодривер следующим образом

System.setProperty("webdriver.firefox.marionette", "path/geckodriver");