Java webdriver API:如何禁用详细的错误消息?

Java webdriver API:如何禁用详细的错误消息?,java,eclipse,webdriver,Java,Eclipse,Webdriver,在上运行示例源代码 它成功运行,但是Eclipse抛出了一堆警告消息。我如何才能禁用此项显示?我真正需要的是最后一行页面标题是:Cheese!-谷歌搜索 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

在上运行示例源代码

它成功运行,但是Eclipse抛出了一堆警告消息。我如何才能禁用此项显示?我真正需要的是最后一行
页面标题是:Cheese!-谷歌搜索

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: <S>, "}", ";", <IDENT>.
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: <S>, <PLUS>, "-", <HASH>, <STRING>, <URI>, "inherit", <EMS>, <EXS>, <LENGTH_PX>, <LENGTH_CM>, <LENGTH_MM>, <LENGTH_IN>, <LENGTH_PT>, <LENGTH_PC>, <ANGLE_DEG>, <ANGLE_RAD>, <ANGLE_GRAD>, <TIME_MS>, <TIME_S>, <FREQ_HZ>, <FREQ_KHZ>, <DIMENSION>, <PERCENTAGE>, <NUMBER>, <FUNCTION>, <IDENT>.
Page title is: Cheese! - Google Search
17-Aug-2010 12:07:00 AM com.gargoylesoftware.htmlunit.util.StringUtils parseHttpDate
警告:无法分析日期:-1
2010年8月17日上午12:07:00 com.gargoylesoftware.htmlunit.util.StringUtils parseHttpDate
警告:无法分析日期:-1
2010年8月17日12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler错误
警告:CSS错误:样式规则中存在null[1:4686]错误。无效令牌“*”。应为以下之一:,“}”,“;”。
2010年8月17日12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler警告
警告:CSS警告:null[1:4686]忽略此规则中的以下声明。
2010年8月17日12:07:01 AM com.gargoylesoftware.htmlunit.DefaultCssErrorHandler错误
警告:CSS错误:表达式中存在null[1:6505]错误。无效标记“;”。应为以下之一:、“-”、“继承”、、、、、、、、、、、、。
页面标题是:奶酪谷歌搜索

HtmlUnit使用公共日志记录。有关更多详细信息,请参阅

作为快速提示,您可以通过设置以下系统属性来禁用警告:

System.getProperties().put("org.apache.commons.logging.simplelog.defaultlog", "fatal");

zloiadun给出的答案在这里不起作用,我不得不用

Logger logger = Logger.getLogger ("");
logger.setLevel (Level.OFF);

。。根据需要更改getLogger(..)和级别。

设置属性有助于:

log4j.logger.com.gargoylesoftware.htmlunit.DefaultCssErrorHandler=ERROR

我是在logging.properties和build.xml中完成的,例如:

<target name="selenium">
    <junit fork="yes" haltonfailure="yes">
        <sysproperty key="java.util.logging.config.file" value="WEB-INF/classes/logging.properties" />
        ...
    </junit>
</target>

...

虽然这些东西对我都不管用,但我发现我可以通过制作一个定制的错误处理程序来关闭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

        }
    });
正如这里所讨论的:

以下代码最适合我:

static {
    java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(java.util.logging.Level.SEVERE);
}

这似乎应该行得通,但对我来说不行。我不得不改用詹姆斯的版本,使用未命名的记录器。这对我很有用。要完全关闭HtmlUnitDriver,只需将级别设置为java.util.logging.level.OFF。这个确实帮助了我。但实际上,这个解决方案现在也可以开箱即用:
client.setCssErrorHandler(新的SilentCssErrorHandler())