webdriver API:如何禁用详细错误消息?
在。运行示例源
http://code.google.com/p/selenium/wiki/GettingStarted
它运行成功,但是Eclipse会抛出大量的WARNING消息。 如何禁用此function? 我真正需要的是最后一行Page title is: Cheese! - Google Search
Page title is: Cheese! - Google Search
17-Aug-2010 12:07:00 AM com.gargoylesoftware.htmlunit.util.StringUtils parseHttpDate WARNING: Unable to parse date: -1 17-Aug-2010 12:07:00 AM com.gargoylesoftware.htmlunit.util.StringUtils parseHttpDate WARNING: Unable to parse date: -1 17-Aug-2010 12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error WARNING: CSS error: null [1:4686] Error in style rule. Invalid token "*". Was expecting one of: , "}", ";", . 17-Aug-2010 12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler warning WARNING: CSS warning: null [1:4686] Ignoring the following declarations in this rule. 17-Aug-2010 12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler error WARNING: CSS error: null [1:6505] Error in expression. Invalid token ";". Was expecting one of: , , "-", , , , "inherit", , , , , , , , , , , , , , , , , , , , . Page title is: Cheese! - Google Search
zloiadun给出的答案在这里不起作用,而是我必须使用,
Logger logger = Logger.getLogger (""); logger.setLevel (Level.OFF);
..根据需要更改getLogger(..)和级别。
虽然这些东西都不适用于我,但我发现我可以通过制作自定义error handling程序来关闭HTMLUnit ……这有点俗气……但是如果你需要它可以让你获得极好的控制:
webClient.setCssErrorHandler(new ErrorHandler() { //Saint @Override public void warning(CSSParseException arg0) throws CSSException { // stare blankly } @Override public void fatalError(CSSParseException arg0) throws CSSException { // twiddle thumbs } @Override public void error(CSSParseException arg0) throws CSSException { // drool on shirt } });
如下所述: 无法关闭HtmlUnit日志消息
以下代码最适合我:
static { java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.SEVERE); }
设置属性有助于:
log4j.logger.com.gargoylesoftware.htmlunit.DefaultCssErrorHandler = ERROR
我在logging.properties和我的build.xml片段中做过,例如:
...
HtmlUnit使用Commons Logging。 您可以在此处参考更多详细信息。
作为快速提示,您可以通过设置以下系统属性来禁用警告:
System.getProperties().put("org.apache.commons.logging.simplelog.defaultlog", "fatal");