2015-10-27 6 views
0

HtmlUnit все еще выдаёт исключения на основе ошибок JS. Я попыталсяHtmlUnit игнорировать конфигурацию и исключает исключения

webClient.getOptions().setThrowExceptionOnFailingStatusCode(false); 
    webClient.getOptions().setThrowExceptionOnScriptError(false); 

, но до сих пор вернуться

ERROR c.g.htmlunit.html.HtmlPage - Error loading JavaScript from [http://example.com/mobilenew/js/jquery.mobile.swipe.min.js]. 
java.io.IOException: Unable to download JavaScript from 'http://example.com/mobilenew/js/jquery.mobile.swipe.min.js' (status 404). 
     at com.gargoylesoftware.htmlunit.html.HtmlPage.loadJavaScriptFromUrl(HtmlPage.java:1082) ~[htmlunit-2.18.jar:2.18] 
     at com.gargoylesoftware.htmlunit.html.HtmlPage.loadExternalJavaScriptFile(HtmlPage.java:1009) ~[htmlunit-2.18.jar:2.18] 
     at com.gargoylesoftware.htmlunit.html.HtmlScript.executeScriptIfNeeded(HtmlScript.java:395) [htmlunit-2.18.jar:2.18] 
     at com.gargoylesoftware.htmlunit.html.HtmlScript$3.execute(HtmlScript.java:276) [htmlunit-2.18.jar:2.18] 
     at com.gargoylesoftware.htmlunit.html.HtmlScript.onAllChildrenAddedToPage(HtmlScript.java:290) [htmlunit-2.18.jar:2.18] 
     at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:800) [htmlunit-2.18.jar:2.18] 
     at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) [xercesImpl-2.11.0.jar:na] 
     at com.gargoylesoftware.htmlunit.html.HTMLParser$HtmlUnitDOMBuilder.endElement(HTMLParser.java:757) [htmlunit-2.18.jar:2.18] 
     at org.cyberneko.html.HTMLTagBalancer.callEndElement(HTMLTagBalancer.java:1170) [nekohtml-1.9.22.jar:1.9.22] 
     at org.cyberneko.html.HTMLTagBalancer.endElement(HTMLTagBalancer.java:1072) [nekohtml-1.9.22.jar:1.9.22] 

Эта ошибка появляется только на удаленном сервере. На локальном компьютере, при выполнении теста spock, htmlUnit работает правильно.

ответ

1

Попробуйте использовать их ниже

 LogFactory.getFactory().setAttribute("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog"); 
     java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("org.apache.commons.httpclient").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit.javascript.StrictErrorReporter").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit.javascript.host.ActiveXObject").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit.javascript.host.html.HTMLDocument").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit.html.HtmlScript").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("com.gargoylesoftware.htmlunit.javascript.host.WindowProxy").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("com.gargoylesoftware").setLevel(Level.OFF); 
     java.util.logging.Logger.getLogger("org.apache").setLevel(Level.OFF);