公众号

让HtmlUnit忽略执行某个JavaScript文件

- - 阅 282

开始是想在HtmlUnit执行完一些JS文件后获取对应URL的HTML页面,但是期间发生阻塞。。。

怀疑是HtmlUnit在执行某个JS文件时陷入了无限循环中,检查是哪个JS文件造成的,如果该JS文件没有太大的价值就可以让HtmlUnit忽略它不执行它:
新建一个类:
class InterceptWebConnection extends FalsifyingWebConnection{
    public InterceptWebConnection(WebClient webClient) throws IllegalArgumentException{
        super(webClient);
    }
    @Override
    public WebResponse getResponse(WebRequest request) throws IOException {
        WebResponse response=super.getResponse(request);
        if(response.getWebRequest().getUrl().toString().endsWith("dom-drag.js")){
            return createWebResponse(response.getWebRequest(), "", "application/javascript", 200, "Ok");
        }
        return super.getResponse(request);
    }
}
然后创建你自己的webClient:
new InterceptWebConnection(webClient);
0

本文转载 " "

原文地址 " "

相关文章!