org.openqa.selenium.WebDriverException: истекло время ожидания запуска сервера драйверов при запуске браузера Chrome через Selenium

#java #selenium #google-chrome #selenium-webdriver #selenium-chromedriver

#java #selenium #google-chrome #selenium-webdriver #selenium-chromedriver

Вопрос:

Я не могу ввести URL-адрес в браузере chrome, поскольку в данный момент браузер открывается, но URL-адрес не вводится автоматически. Вероятно, это какая-то проблема с браузером.

Код является:

 import java.util.concurrent.TimeUnit;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.WebDriverWait;


public class OpenBidAssist {

    public static void main(String[] args) {
        System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
        System.out.println("TEST1");
        WebDriver driver=new ChromeDriver();
        WebDriverWait wait=new WebDriverWait(driver, 20);
        System.out.println("TEST2");
        driver.get("https://stg-cipher-fe.ofbusiness.in/");
        System.out.println("TEST3");
    }
}
  

Ошибка, которую я получаю, заключается в:

 TEST1
Created new window in existing browser session.
Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:25:48'
System info: host: 'ofbl219-Latitude-3480', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-49-generic', java.version: '1.8.0_181'
Driver info: driver.version: ChromeDriver
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:202)
    at org.openqa.selenium.remote.service.DriverService.start(DriverService.java:188)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:213)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:131)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:181)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:168)
    at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:123)
    at OpenBidAssist.main(OpenBidAssist.java:13)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:11320/status] to be available after 20006 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:197)
    ... 9 more
Caused by: java.util.concurrent.TimeoutException
    at java.util.concurrent.FutureTask.get(FutureTask.java:205)
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:156)
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
    ... 10 more
  

Кто-нибудь может мне в этом помочь.
Заранее спасибо,

Ответ №1:

заменить System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");

с путем к exe-файлу, подобным System.setProperty("webdriver.chrome.driver", "your path of Driver/chromedriver.exe");

Комментарии:

1. Новый код: — общедоступная статическая пустота main(строка[] аргументов) { System.setProperty(«webdriver.chrome.driver», «/opt/google / chrome/google-chrome»); драйвер WebDriver=новый ChromeDriver(); System.out.println(«TEST2″); driver.get(» stg-cipher-fe.ofbusiness.in /» ); } } Ошибка: — «Не удалось установить политику ссылки: значение ‘strict-origin’ не является одним из ‘всегда’, ‘по умолчанию’, ‘никогда’, ‘без ссылки’, ‘без ссылки при понижении’, ‘origin’, ‘origin-при-перекрестном запуске’ или ‘небезопасный url’. Политика ссылок оставлена без изменений.», источник: google.com/_/chrome/newtab?espv=2amp;ie=UTF-8

Ответ №2:

Это сообщение об ошибке…

 Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
  

… подразумевает, что вашей программе не удалось запустить новый процесс WebDriver, т.е. ChromeDriver.

Ваша основная проблема заключается в значении, которое вы передали в System.setProperty() строку.

Вместо абсолютного пути к двоичному файлу клиента Google Chrome вам необходимо передать абсолютный путь к ChromeDriver. Итак, вам нужно:

  • Изменить:

     "/usr/bin/google-chrome"
      
  • С:

     "/path/to/chromedriver"
      

По сути, вам необходимо:

  • Изменить:

     System.setProperty("webdriver.chrome.driver", "/usr/bin/google-chrome");
      
  • С:

     System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
      

Примечание: Вы можете загрузить соответствующую версию ChromeDriver с ChromeDriver — WebDriver для Chrome

Ответ №3:

Из вашего кода совершенно ясно, что вы пытаетесь создать ChromeDriver, но путь к исполняемому файлу указан неверно.

Загрузите последнюю версию исполняемого файла ChromeDriver из загрузок chromedriver

Затем замените

System.setProperty(«webdriver.chrome.driver», «/usr/bin/google-chrome»);

с

System.setProperty(«webdriver.chrome.driver», «/путь к chromedriver/chromedriver.exe «);

Ответ №4:

Мы потратили необычайно много времени, выясняя, почему мы получили именно эту ошибку на серверах сборки, но не на станциях разработчика. Вы можете получить эту ошибку, когда Chrome не установлен. Путь к ChromeDriver.exe может быть идеальным, но вы все равно получите эту ошибку, если у вас также нет Chrome. Когда вы запускаете ChromeDriver.exe вручную он запустится и будет реагировать без установленного Chrome, вы можете запросить его по http://localhost:9515/status но он по-прежнему не будет работать в тестовом режиме.