【问题标题】:Change path for the logfile of PhantomJS in java在java中更改PhantomJS日志文件的路径
【发布时间】:2021-10-08 16:20:03
【问题描述】:

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

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);

还有:

ArrayList<String> cliArgsCap = new ArrayList<String>();
cliArgsCap.add("--logfile=/home/ant/Document/phantomjsdriver.log");

DesiredCapabilities caps = new DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability("takesScreenshot", false);
caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,cliArgsCap);

但现在它不起作用。

【问题讨论】:

  • 我认为选项是--webdriver-logfile。请尝试。

标签: java selenium-webdriver phantomjs ghostdriver


【解决方案1】:

查看PhantomJSDriverService.createDefaultService(...) 中的代码后,我费了很大劲才搞定。

这就是我的做法,虽然有点笨拙,但对我有用...希望这会有所帮助:

DesiredCapabilities capabilities = new DesiredCapabilities();
File logfile = new File("ABSOLUTE_PATH_TO_YOUR_LOG_FILE");
String[] phantomArgs = { "--webdriver-loglevel=DEBUG" };
PhantomJSDriverService driverService = new PhantomJSDriverService.Builder()
              .usingPhantomJSExecutable(f)
              .usingAnyFreePort()
              .withProxy(proxy)
              .usingCommandLineArguments(phantomArgs)
              .withLogFile(logfile)
              .build();
PhantomJSDriver driver = new PhantomJSDriver(driverService, capabilities);

【讨论】:

  • 这里usingPhantomJSExecutable(f) f的值应该与PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_PROPERTY的值相同。
【解决方案2】:

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

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

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

维护者在PhantomJS main page 上有一条评论,很遗憾他没有时间处理这个问题。

【讨论】:

    猜你喜欢
    • 2014-11-06
    • 2015-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-03
    • 1970-01-01
    • 2011-11-26
    相关资源
    最近更新 更多