错误:1506741262570 Marionette INFO使用Selenium在端口2828上进行侦听

时间:2017-09-29 15:21:34

标签: java selenium selenium-webdriver selenium-firefoxdriver

我想使用Firefox使用Google打开Selenium。我使用的firefox版本是52.3.0 (64-bit)。我正在尝试这种方式;

System.setProperty("webdriver.gecko.driver","C://geckodriver-v0.19.0-win64_2//geckodriver.exe");    // Setting GECKODRIVER
WebDriver WD = new FirefoxDriver();
WD.get("http://www.google.com");

但是在运行程序时,它会进入休眠状态并且输出为;

1506741259735   geckodriver INFO    geckodriver 0.19.0
1506741259744   geckodriver INFO    Listening on 127.0.0.1:31605
1506741260475   mozrunner::runner   INFO    Running command: "C:\\Program Files\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\SPERID~1\\AppData\\Local\\Temp\\rust_mozprofile.viiF05x2u2Ct"
1506741262570   Marionette  INFO    Listening on port 2828

这里有什么问题?我无法理解它为什么会起作用?

5 个答案:

答案 0 :(得分:1)

使用此选项定义您要使用的Firefox版本 我遇到的大多数问题Selenium都是关于版本问题,没有明确的消息或关于哪些版本兼容的信息。

System.setProperty("webdriver.firefox.bin", "/path/to/another/firefox/dot/exe");

答案 1 :(得分:0)

假设您使用的是最新的 Selenium-Java 客户端v 3.6.0 geckodriver v 0.19.0,同时提及geckodriver.exe的绝对路径,您需要使用单个正斜杠 (/) 或转义反斜杠 (\\) ,如下所示:

    System.setProperty("webdriver.gecko.driver", "C:/Utility/BrowserDrivers/geckodriver.exe");
    WebDriver driver =  new FirefoxDriver();
    driver.get("https://stackoverflow.com");
    System.out.println("Application opened");
    System.out.println("Page Title is : "+driver.getTitle());
    driver.quit();

答案 2 :(得分:0)

我认为问题是Firefox版本。

我下载了Firefox ESR(52.3.0)以供Selenium IDE使用,但是当我使用WebDriver时,它也会自动使用Firefox的ESR版本并以您描述的方式失败。

当我卸载Firefox ESR版本时,WebDriver会自动使用Firefox 55.0.3并且运行正常。

编辑:我认为我仍然想要ESR,所以我重新安装它并将默认安装路径从“C:\ Program Files \ Mozilla Firefox”更改为“C:\ Program Files \ Mozilla Firefox ESR”因此Selenium WebDriver无法轻易找到并使用较新版本的Firefox。

答案 3 :(得分:0)

  

我觉得我还想要ESR,

首先要避免这种“使用错误的Firefox”问题,您可以使用Firefox 54 Portable代替ESR。

为了保证自己的安全,请安装Firefox 54 portable,以便使用Selenium IDE进行自动化测试。您应该将Firefox的可移植版本安装在与主Firefox不同的目录中。这样您就可以为常规Firefox保持自动更新。这可确保您在浏览网页时安全。

答案 4 :(得分:-1)

尝试将Marionette功能设置为true,

FirefoxOptions options = new FirefoxOptions();
options.setCapability("marionette", true);
WebDriver WD = new FirefoxDriver(options);