Может кто-нибудь объяснить, почему не работает простая программа Selenium? (На Ма c с использованием Maven- Java) - PullRequest
0 голосов
/ 23 марта 2020

Я новичок в Selenium и не могу запустить простейшую программу:

public static void main(String[] args) {
    WebDriver driver = new ChromeDriver();

    driver.get("https://google.com");

    HelloWorld.LOGGER.info(driver.getTitle());
}

Полученная ошибка:

Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
    at com.google.common.base.Preconditions.checkState(Preconditions.java:754)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:134)
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:35)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:159)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at com.genesys.testing.topicsDefinitionUI.HelloWorld.main(HelloWorld.java:20)

После прочтения вышеупомянутого исключения я увидел в этот сайт - решение, которое не работает для меня:

public static void main(String[] args) {
    System.setProperty("WebDriver.Chrome.driver","/Applications/Google\\ Chrome.app/Contents/MacOS/Google\\ Chrome");

    WebDriver driver = new ChromeDriver();

    driver.get("https://google.com");

    HelloWorld.LOGGER.info(driver.getTitle());
}

Полученная ошибка:

Exception in thread "main" java.lang.IllegalStateException: The path to the driver executable must be set by the webdriver.chrome.driver system property; for more information, see https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver. The latest version can be downloaded from http://chromedriver.storage.googleapis.com/index.html
    at com.google.common.base.Preconditions.checkState(Preconditions.java:754)
    at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:134)
    at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:35)
    at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:159)
    at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355)
    at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at com.genesys.testing.topicsDefinitionUI.HelloWorld.main(HelloWorld.java:20)

Я работаю в MacOS - Catalina, моя IDE - Intellij, и это является проектом Maven.

Попытка переключить второй аргумент функции System.setProperty() на многочисленные варианты пути, но безуспешно.

Чего мне не хватает?

Ответы [ 2 ]

0 голосов
/ 23 марта 2020

Итак, мой друг здесь выше @Rock был прав.

Мне нужно было скачать драйвер chrome.

Но , потому что я работаю в MacOS Catalina мне пришлось вручную изменить разрешение для файла chromedriver.

С помощью этой проблемы: MacOS Catalina (v 10.15.3): Ошибка: невозможно открыть «chromedriver», потому что разработчик не может быть проверен. Невозможно запустить браузер chrome

Вот как теперь выглядит код:

    public void firstTest() {
        System.setProperty("webdriver.chrome.driver","/Users/raziv/Downloads/chromedriver");
        WebDriver driver = new ChromeDriver();
        driver.get("http://google.com");
        System.out.println(driver.getTitle());
    }

И он работает нормально

0 голосов
/ 23 марта 2020

Для запуска вашего кода в браузере chrome вам необходимо установить путь к chromedriver. в вашем коде указан неверный путь к драйверу chrome

System.setProperty("webdriver.chrome.driver","chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://google.com");
System.out.println(driver.getTitle());

Проверьте версию браузера и загрузите chromedriver по ссылке ниже:

https://chromedriver.chromium.org/downloads

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