在 htmlunit 中沉默 Javascript 堆栈跟踪
Silence Javascript stack traces in htmlunit
我已将我的程序配置为继续过去 JavaScript 个异常:
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_ESR);
webClient.getOptions().setThrowExceptionOnScriptError(false); // #1
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setPrintContentOnFailingStatusCode(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
结果是程序继续 运行,即使遇到 JavaScript 错误,正如基于上面的设置 #1 所预期的那样。
问题是错误仍在被记录。例如:
com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "jQuery" is not defined.
然后是超过 一百行我不关心的堆栈跟踪。
我想 WebClientOptions
中可能有 public void setPrintContentOnScriptError(Boolean enabled)
方法,但我没有找到。
如何防止 JavaScript 堆栈跟踪在 运行ning htmlunit 时使输出混乱?
您必须自定义日志配置。
请看一下 https://htmlunit.sourceforge.io/logging.html.
我已将我的程序配置为继续过去 JavaScript 个异常:
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_ESR);
webClient.getOptions().setThrowExceptionOnScriptError(false); // #1
webClient.getOptions().setThrowExceptionOnFailingStatusCode(false);
webClient.getOptions().setPrintContentOnFailingStatusCode(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
结果是程序继续 运行,即使遇到 JavaScript 错误,正如基于上面的设置 #1 所预期的那样。
问题是错误仍在被记录。例如:
com.gargoylesoftware.htmlunit.ScriptException: ReferenceError: "jQuery" is not defined.
然后是超过 一百行我不关心的堆栈跟踪。
我想 WebClientOptions
中可能有 public void setPrintContentOnScriptError(Boolean enabled)
方法,但我没有找到。
如何防止 JavaScript 堆栈跟踪在 运行ning htmlunit 时使输出混乱?
您必须自定义日志配置。 请看一下 https://htmlunit.sourceforge.io/logging.html.