我有一个网址。我想在执行Java Scripts后获取URL的Page-Source。
Fetch Page source using HtmlUnit : URL got stuck
最初我怀疑这是由于系统资源和高CPU使用率导致网址陷入困境。
然后我尝试在HTML UNIT 2.9和2.11上运行它。它在解析时都遇到了问题。请参阅 the above question for HTML UNIT code scrape that is getting stuck。
现在我怀疑这可能是由于JS Execution进入无限循环。
我想检查哪些JS文件导致问题并将其从执行中删除。
如果他们是谷歌分析,推特等网站的JS,我可能根本不需要它们。
所以我想找到一种方法告诉HTML单元忽略某些JS文件并执行其余的。
有人知道怎么做吗?
答案 0 :(得分:5)
试试这个。它对我有用:
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);