`

PhantomJSDriver怎么设置在console里不输出运行信息

阅读更多

每次运行PhantomJSDriver都输出一堆的INFO、SEVERE信息,红红的一坨,感觉就像大姨妈,很不爽。所以问题来了,怎么去掉呢?

试了如下办法:

马上想到的是设置log的level

方法一:

 

PhantomJSDriver driver = new PhantomJSDriver(caps);
			
driver.setLogLevel(Level.SEVERE);

 但是不起作用, setLogLevel()这个方法是RemoteWebDriver类的,显然PhantomJSDriver没有正确应用到他。摆设...

 

 

 

方法二:

String[] phantomArgs = new  String[] {
				    "--webdriver-loglevel=NONE"
				};
				caps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);
driver = new PhantomJSDriver(caps);

 不起作用。

 

方法三:

 

PhantomJSDriverService service = new PhantomJSDriverService.Builder()
.usingPhantomJSExecutable(new File(VariableClass.phantomjs_file_path))
.withLogFile(null).build();

 不起作用。

 

 

网上看到:

PhantomJSDriverService doesn't expose a method to set the loglevel

 

最后在尝试N种方法后,终于找到一种方法:

只要传参数给jvm,如下:

 

java -Djava.util.logging.config.file=logging.properties

 

 

logging.properties内容:

org.openqa.selenium.phantomjs.PhantomJSDriverService.level = SEVERE

 

具体解释下可以看这个文章:https://blogs.oracle.com/sunita/entry/java_logger_api

 

大姨妈不见了,不过还是有:

PhantomJS is launching GhostDriver...

这句话,不过比之前好多了。

 

分享到:
评论
3 楼 jujis008 2016-03-21  
楼主, 这selenium用的是jdk自带的log,所以在%JAVA_HOME%/lib/下有个logging.properties文件,你可以修改这个文件的log level,不过这样修改之后,也会影响其他使用jdk的log level.
2 楼 qi_ling2005 2015-05-07  
OnTheRoad_lee 写道
String[] phantomArgs = new  String[] {
    "--webdriver-loglevel=ERROR"
};
dCaps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);

酱紫就可以了,亲测通过
那些[INFO]……信息就不会显示了


OK, 谢谢,我有空再试试看
1 楼 OnTheRoad_lee 2015-05-04  
String[] phantomArgs = new  String[] {
    "--webdriver-loglevel=ERROR"
};
dCaps.setCapability(PhantomJSDriverService.PHANTOMJS_CLI_ARGS, phantomArgs);

酱紫就可以了,亲测通过
那些[INFO]……信息就不会显示了

相关推荐

Global site tag (gtag.js) - Google Analytics