在java中更改PhantomJS日志文件的路径

时间:2015-06-12 14:32:18

标签: java selenium-webdriver phantomjs ghostdriver

我无法弄清楚如何为PhantomJS更改日志文件的路径。 我试着用:

contentType: false,
processData: false

还有:

DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability("takesScreenshot", false);
caps.setCapability(
        PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS,
            new String[] { "--logfile=/home/ant/Document/phantomjsdriver.log" });
caps.setCapability(
        PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY,
        path);

但是现在它还没有用。

2 个答案:

答案 0 :(得分:4)

在查看PhantomJSDriverService.createDefaultService(...)中的代码之后,我很努力地让这项工作得以实现。我能够弄明白。

所以这就是我做的方式,有点hacky但它​​对我有用...希望这会有所帮助:

DesiredCapabilities dcap = new DesiredCapabilities();
File logfile = new File("ABSOLUTE_PATH_TO_YOUR_LOG_FILE");
String[] phantomArgs = [ "--webdriver-loglevel=DEBUG" ]
PhantomJSDriverService pjsds = new PhantomJSDriverService.Builder()
              .usingPhantomJSExecutable(f)
              .usingAnyFreePort()
              .withProxy(proxy)
              .usingCommandLineArguments(phantomArgs)
              .withLogFile(logfile)
              .build();
PhantomJSDriver pdriver = new PhantomJSDriver(pjsds, dcap);

答案 1 :(得分:2)

我一直在寻找相同的东西。

根据GitHub上的OrderByDescending,很难,实际上是不可能的。提到了一种解决方法,但您需要提供一些Ghostdriver源:main.js及其导入的所有文件。

根据GitHub上的this issue,有一个命令行参数--webdriver-logfile,您可以在实际日志中看到这一点。但是,查看this pull,访问CLI参数会遇到同样的问题:您需要Ghostdriver源。

来自维护者的PhatomJSDriver source有一条评论,遗憾的是他不再有时间研究这个问题。

相关问题