Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
更改java中PhantomJS日志文件的路径_Java_Selenium Webdriver_Phantomjs_Ghostdriver - Fatal编程技术网

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

更改java中PhantomJS日志文件的路径,java,selenium-webdriver,phantomjs,ghostdriver,Java,Selenium Webdriver,Phantomjs,Ghostdriver,我不知道如何更改PhantomJS日志文件的路径。 我尝试: DesiredCapabilities caps = new DesiredCapabilities(); caps.setJavascriptEnabled(true); caps.setCapability("takesScreenshot", false); caps.setCapability( PhantomJSDriverService.PHANTOMJS_GHOSTDRIVER_CLI_ARGS,

我不知道如何更改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);
ArrayList cliArgsCap=new ArrayList();
cliArgsCap.add(“--logfile=/home/ant/Document/phantomjsdriver.log”);
DesiredCapabilities=新DesiredCapabilities();
caps.setJavascriptEnabled(true);
caps.setCapability(“takesScreenshot”,false);
caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS,cliArgsCap);

但是现在它不起作用。

我已经找了一段时间了

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

根据GitHub上的说明,有一个命令行参数--webdriver logfile,您可以在实际日志中看到这一点。但是,通过查看,访问CLI参数存在相同的问题:您需要Ghostdriver源


有一条来自维护人员的评论,很遗憾,他已经没有时间来做这件事了。

在查看了中的代码后,我花了很多时间来完成这件事

下面是我是如何做到的,有点粗糙,但它对我有效…希望这有帮助:

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

我认为这个选项是
--webdriver日志文件
。请尝试。在这里
使用phantomjsexecutable(f)
f
应与
PhantomJSDriverService.PHANTOMJS_EXECUTABLE_PATH_属性
值相同。