每次运行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...
这句话,不过比之前好多了。