1

我很难PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_PATH_PROPERTY在我的 Java 程序中正确设置功能,以便将来自 github 的最新版本的 Ghostdriver与我安装的 phantomjs 版本 (1.9.1) 一起使用

这是我在我的 Java 程序中所做的

DesiredCapabilities caps = DesiredCapabilities.phantomjs();
caps.setCapability(
    PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
    "/xxx/phantomjs-1.9.1-linux-x86_64/bin/phantomjs" );
caps.setCapability(
    PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_PATH_PROPERTY,
    "/xxx/ghostdriver/src/main.js");
WebDriver driver = new PhantomJSDriver(caps);

selenium 驱动程序正确启动,如果我没有设置PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_PATH_PROPERTY,但我在测试中遇到了一些错误,这些错误应该在 ghostdriver 的当前开发人员分支中修复。所以我遵循了这个建议,并设置了 ghostdriver 的 cuttent github 版本。

但是,现在我收到以下错误:

[ERROR - 2013-07-12T10:22:36.897Z] GhostDriver - Main - Could not start Ghost Driver => {
  "message": "Could not start Ghost Driver",
  "line": 79,
  "sourceId": 140320571924032,
  "sourceURL": "/xxx/ghostdriver/src/main.js",
  "stack": "Error: Could not start Ghost Driver\n    at /xxx/ghostdriver/src/main.js:79",
  "stackArray": [
    {
      "sourceURL": "/xxx/ghostdriver/src/main.js",
      "line": 79
    }
  ]
}

我的问题是,有人知道如何解决这个问题吗?我必须以某种方式更改config.jsghostdriver 才能使其工作吗?

信息:我也将其交叉发布到 ghostdriver 的 github 问题

4

4 回答 4

5

所以我遇到了同样的问题,我尝试使用的端口已经在使用中。尝试不同的端口。IE:

phantomjs --webdriver=8089 --webdriver-selenium-grid-hub=...

于 2013-10-18T16:53:16.193 回答
2

杀死任何正在运行的 phantomjs 进程,然后重试:

ps aux | grep phantom
kill -9 <your phantom process id>

然后尝试再次运行 phantomjs。

于 2014-06-27T20:46:31.807 回答
1

我通过查看是否正在使用我的端口来解决此问题, 它会netstat -tulnap显示所有正在使用的端口的列表。找到 phantomjs 正在使用的那个。然后您可以使用fuser <your-port-number>/tcp -k. 例如,我的端口是 4444 所以fuser 444/tcp -k

于 2015-11-10T17:12:51.690 回答
0

事实证明,这只适用于硒版本> = 2.33的预期。我更新了我的硒,这解决了这个问题。

于 2013-07-14T14:19:15.327 回答