Selenium GeckoDriver获取已启动的驱动程序实例的IP和端口号

时间:2017-07-04 12:21:43

标签: java selenium geckodriver

我正在使用Selenium 3.4,Geckodriver 0.17 我使用以下代码启动FirefoxDriver

    System.setProperty("webdriver.gecko.driver", "geckodriver.exe");
    FirefoxDriver driver = new FirefoxDriver();
    driver.get("http://www.bing.com");
    System.out.println(driver.getSessionId());

有没有办法可以获取已启动的驱动程序实例的IP和端口?

我想要的数据打印在日志中。

1499170600204   geckodriver INFO    Listening on 127.0.0.1:38840
1499170601127   geckodriver::marionette INFO    Starting browser C:\Program Files\Mozilla Firefox\firefox.exe with args ["-marionette"]
[GFX1]: Potential driver version mismatch ignored due to missing DLLs igd10umd32 v= and igd10iumd32 v=
1499170608388   Marionette  INFO    Listening on port 12793
Jul 04, 2017 5:46:48 PM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: W3C

输出的第一行 127.0.0.1:38840 打印出我想要的信息。我不想解析日志,因为我将并行运行驱动程序。

1 个答案:

答案 0 :(得分:0)

RemoteWebDriver具有getCommandExecutor方法。

TypeCasted为HttpCommandExecutorgetAddressOfRemoteServer()方法可以返回网址。

HttpCommandExecutor ce = (HttpCommandExecutor) driver.getCommandExecutor();
System.out.println(ce.getAddressOfRemoteServer());