gpt4 book ai didi

htmlunit - 跳过 HTML 单元中的特定 Javascript 执行

转载 作者:行者123 更新时间:2023-12-04 15:13:16 26 4
gpt4 key购买 nike

我有一个网址。我想在执行 Java 脚本后获取 URL 的页面源。

Fetch Page source using HtmlUnit : URL got stuck

起初我怀疑是由于系统资源和 CPU 使用率高,导致 URL 卡住了。

然后我尝试在 HTML UNIT 2.9 和 2.11 上运行它。它在解析时卡在了两者上。引用 the above question for HTML UNIT code scrape that is getting stuck .

现在我怀疑这可能是由于 JS 执行进入无限循环。

我想检查哪些 JS 文件导致问题并将它们从执行中删除。

如果它们是用于 google 分析、twitter 等网站的 JS,我可能根本不需要它们。

所以我想找到一种方法来告诉 HTML Unit 忽略某些 JS 文件并执行其余的文件。

有人知道怎么做吗?

最佳答案

尝试这个。它对我有用:

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);

关于htmlunit - 跳过 HTML 单元中的特定 Javascript 执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14439991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com