Исключение в потоке "main" org.openqa.selenium.WebDriverException: Истекло время ожидания 45 секунд для запуска Firefox после обновления geckodriver - PullRequest
0 голосов
/ 12 июня 2018

Я написал приведенный ниже код в java, чтобы просто открыть Firefox и перенаправить ссылку на gmail.com, но, кажется, время ожидания истекло до перенаправления.Я проверил решение в stackoverflow и нашел ту же проблему, с которой столкнулся кто-то еще.Он / она обновил geckodriver, который был задним числом, и после этого он успешно перенаправлен на ссылку для него / нее.Увидев, что я проверил версии geckodriver, firefox и selenium и, кажется, все обновляется.Версия geckodriver v0.20.1, версия firefox 60.0.2 и селен 3.12.0.Код, который я написал:

System.setProperty("webdriver.gecko.driver", "C:\\Users\\MI SERVICE\\Downloads\\geckodriver.exe");
FirefoxOptions capa = new FirefoxOptions();
capa.setCapability("marionette", false);
WebDriver driver = new FirefoxDriver(capa);
driver.navigate().to("https://www.gmail.com");
driver.quit();

Вызвано исключение:

Exception in thread "main" org.openqa.selenium.WebDriverException: Timed out waiting 45 seconds for Firefox to start.
Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T15:15:03.216Z'
System info: host: 'DESKTOP-3P379LK', ip: '192.168.0.105', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '10.0.1'
Driver info: driver.version: FirefoxDriver
    at org.openqa.selenium.firefox.XpiDriverService.waitUntilAvailable(XpiDriverService.java:132)
    at org.openqa.selenium.firefox.XpiDriverService.start(XpiDriverService.java:117)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:79)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)
    at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:207)
    at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:130)
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:125)
    at firefoxScripts.MyFirstTestCase.main(MyFirstTestCase.java:17)
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:36845/hub/status] to be available after 45002 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
    at org.openqa.selenium.firefox.XpiDriverService.waitUntilAvailable(XpiDriverService.java:130)
    ... 7 more
Caused by: java.util.concurrent.TimeoutException
    at java.base/java.util.concurrent.FutureTask.get(Unknown Source)
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:148)
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
    ... 8 more

1 Ответ

0 голосов
/ 12 июня 2018

Поскольку вы работаете с Selenium v3.12.0 , GeckoDriver v0.20.1 и Firefox v60.0.2 , вам обязательно нужно использовать марионетку, которая является конфигурацией по умолчанию.Как вы принудительно установили marionette на false , поэтому вы видите ошибку как:

org.openqa.selenium.WebDriverException: Timed out waiting 45 seconds for Firefox to start.

Решение:

Есть 2 способачтобы решить вашу проблему следующим образом:

  • Либо используйте конфигурацию по умолчанию ( марионетка , установленную как true ) следующим образом:

    System.setProperty("webdriver.gecko.driver", "C:\Users\MI SERVICE\Downloads\geckodriver.exe");
    WebDriver driver = new FirefoxDriver();
    driver.navigate().to("https://www.gmail.com");
    driver.quit();
    
  • Или вы можете явно установить марионетка в true следующим образом:

    System.setProperty("webdriver.gecko.driver", "C:\Users\MI SERVICE\Downloads\geckodriver.exe");
    FirefoxOptions capa = new FirefoxOptions();
    capa.setCapability("marionette", true);
    WebDriver driver = new FirefoxDriver(capa);
    driver.navigate().to("https://www.gmail.com");
    driver.quit();
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...