如何克服单个 javascript 的错误,同时在 HTMLUnit 中启用其他错误?

How to overcome error from a single javascript while enabling others in HTMLUnit?

我是 HTMLUnit 的新手。我正在尝试从 public 站点获取信息(在下面的代码中给出)。虽然我可以在 Chrome 浏览器或 Chrome Selenium 扩展中打开此 public url 而不会出现错误并继续使用它,但我的 HTMLUnit 程序抛出如下所示的错误源自页面中的特定 Javascript。我的问题是,如何解决此类问题?我不能完全禁用 javascript,因为在这种情况下,包含详细信息的表单部分将不可用。但是,如果我使用命令

EcmaError: lineNumber=[55] column=[0] lineSource=[] name=[TypeError] sourceName=[https://www.marutisuzuki.com/js/server_cookies.js] message=[ TypeError:在对象 [object Object] 中找不到函数 fetchServerCookie。 (https://www.marutisuzuki.com/js/server_cookies.js#55)] com.gargoylesoftware.htmlunit.ScriptException:TypeError:在对象 [object Object] 中找不到函数 fetchServerCookie。 (https://www.marutisuzuki.com/js/server_cookies.js#55)

        String pageAsXml = null;
        String pageAsText = null;   
         try{
             
            WebClient webClient = new WebClient(BrowserVersion.CHROME); 
            HtmlPage page = 
            webClient.getPage("https://www.marutisuzuki.com/dealer-showrooms/");
            //webClient.getOptions().setJavaScriptEnabled(false);
            pageAsXml = page.asXml();
            pageAsText = page.asNormalizedText();
            System.out.println(pageAsText);
        }
        catch(Exception e) {
            e.printStackTrace();
        }

您可以使用

webClient.getOptions.setThrowExceptionOnScriptError(false);

有关更多信息,请查看 https://htmlunit.sourceforge.io/javascript-howto.html

顺便说一句:这是页面本身的错误,因为您在真实的浏览器中得到了相同的结果。