Как запустить браузер Firefox через GeckoDriver и Selenium - PullRequest
0 голосов
/ 09 октября 2018

Я пытаюсь запустить веб-браузер селена. Я могу открыть браузер Firefox, но не могу открыть Google, помогите мне с этой ошибкой, с которой я сталкиваюсь

package selenium1;

import org.openqa.selenium.WebDriver;
//import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class selenium2 {
    public static void main(String[] args) throws Exception {

        System.out.println("hello world ");
        System.setProperty.("webdriver.firefox.marionette","/Users/bindumalini.n/Downloads/geckodriver.exe";
        WebDriver driver = new FirefoxDriver();
        driver.quit();
        driver.get("www.gmail.com");
        System.out.println("hello");
    }
}

вывод //

hello world Исключение в потоке "main" org.openqa.selenium.WebDriverException: истекло время ожидания 45 секунд для запуска Firefox.Информация о сборке: версия: '3.14.0', редакция: 'aacccce0', время: '2018-08-02T20: 05: 20.749Z' Информация о системе: хост: 'BLRJPT6861D', ip: 'fe80: 0: 0: 0: 148a: bc94: 9bd4: 8a04% en0 ', os.name:' Mac OS X ', os.arch:' x86_64 ', os.version: '10 .13.6', java.version: '1.8.0_141' Драйверинформация: driver.version: FirefoxDriver по адресу org.openqa.selenium.firefox.XpiDriverService.waitUntilAvailable (XpiDriverService.java:133) по адресу org.openqa.selenium.firefox.XpiDriverService.start:er.jpg (at) .gp.selenium.remote.service.DriverCommandExecutor.execute (DriverCommandExecutor.java:79) по адресу org.openqa.selenium.remote.RemoteWebDriver.execute (RemoteWebDriver.java:548) по адресу org.openqa.selenium.remebDriver.RewServerWemJava: 212) в org.openqa.selenium.remote.RemoteWebDriver. (RemoteWebDriver.java:130) в org.openqa.selenium.firefox.FirefoxDriver. (FirefoxDriver.java:125) в org.openqirexfofofofofo.fi.. (FirefoxDriver.java:103) at selenium1.selenium2.main (selenium2.java:13) Причинаby: org.openqa.selenium.net.UrlChecker $ TimeoutException: время ожидания ожидания [http://localhost:48007/hub/status] истекло через 45005 мс в org.openqa.selenium.net.UrlChecker.waitUntilAvailable (UrlChecker.java:100)at org.openqa.selenium.firefox.XpiDriverService.waitUntilAvailable (XpiDriverService.java:131) ... еще 8 причин: java.util.concurrent.TimeoutException в java.util.concurrent.FutureTask.k.jt (будущее)) на com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout (SimpleTimeLimiter.java:156) на org.openqa.selenium.net.UrlChecker.waitUntilAvailable (UrlChecker.java:75) ... еще 9

Ответы [ 3 ]

0 голосов
/ 09 октября 2018

Поскольку вы используете Selenium v3.14.0 вместо webdriver.firefox.marionette, вам нужно использовать GeckoDriver как webdriver.gecko.driver.

Кроме того, поскольку вы работаете в Mac OS X , вам необходимо загрузить geckodriver-v0.23.0-macos.tar.gz из mozilla / geckodriver и указатьабсолютный путь, необходимый для удаления расширения (например, .exe)

. Вы можете использовать следующее решение:

package selenium1;

import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;

public class selenium2 {
    public static void main(String[] args) throws Exception {

    System.out.println("hello world ");
    System.setProperty.("webdriver.gecko.driver","/Users/bindumalini.n/Downloads/geckodriver");
    WebDriver driver = new FirefoxDriver();
    driver.get("www.gmail.com");
    System.out.println("hello");
    driver.quit();
    }
}
0 голосов
/ 09 октября 2018

Попробуйте эту надежду, это поможет вам.Это код BrowserDynamically Selenium ... Если вы все еще сталкиваетесь с какой-либо проблемой, пожалуйста, подтвердите.

package com.selenium;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.chrome.ChromeDriver;

import org.openqa.selenium.edge.EdgeDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

import org.openqa.selenium.ie.InternetExplorerDriver;

import org.openqa.selenium.opera.OperaDriver;

import org.testng.annotations.Test;

/ ** * @author mohitjaiswal * * /

открытый класс BrowserDynamically {

WebDriver driver = null;
String browser = "chrome";

(Передайте здесь имя браузера как "chrome", "firefox", "edgeBrowser",«опера», «IE» как в строке: которую вы хотите открыть браузер)

String edgePath = "/Users/mohitjaiswal/Documents/\"\n" + 
                    "+ \"My-Data/Selenium Libraries/Drivers/MicrosoftWebDriver.exe";
String chromePath = "/Users/mohitjaiswal/Documents/"
        + "My-Data/Selenium Libraries/Drivers/chromedriver";
String firefoxPath = "/Users/mohitjaiswal/Documents/"
        + "My-Data/Selenium Libraries/Drivers/geckodriver";
String opraPath = "/Users/mohitjaiswal/Documents/"
        + "My-Data/Selenium Libraries/Drivers/operadriver";
String iePath = "/Users/mohitjaiswal/Documents/"
        + "My-Data/Selenium Libraries/Drivers/IEDriverServer.exe";


public void invokeBrowser(String browserName) {

    if(browserName.equalsIgnoreCase("chrome")) {
        System.setProperty("webdriver.chrome.driver", chromePath);
        driver = new ChromeDriver();
    }else if (browserName.equalsIgnoreCase("firefox")) {
        System.setProperty("webdriver.gecko.driver", firefoxPath);
        driver = new FirefoxDriver();
    }else if (browserName.equalsIgnoreCase("edgeBrowser")) {
        System.setProperty("webdriver.edge.driver", edgePath);
        driver = new EdgeDriver();
    }else if (browserName.equalsIgnoreCase("opera")) {
        System.setProperty("webdriver.opera.driver", opraPath);
        driver = new OperaDriver();
    }else if (browserName.equalsIgnoreCase("IE")) {
        System.setProperty("webdriver.ie.driver", iePath);
        driver = new InternetExplorerDriver();
    }
}

@Test
public void invokeApplication() {
    invokeBrowser(browser);
    driver.get("https://www.google.com");
    driver.manage().window().maximize();
    driver.close();
}

}

0 голосов
/ 09 октября 2018

Вы использовали driver.quit(); перед навигацией, это закрывает этот драйвер и закрывает соответствующее окно.

Переместите его в конец скрипта (или после последнего использования)

public static void main(String[] args) throws Exception {
    System.out.println("hello world ");
    System.setProperty.("webdriver.firefox.marionette","/Users/bindumalini.n/Downloads/geckodriver.exe";
    WebDriver driver = new FirefoxDriver();     
    driver.get("www.gmail.com");
    driver.quit();
    System.out.println("hello");
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...