【发布时间】:2017-12-25 14:31:33
【问题描述】:
我运行这段代码
val client = new WebClient(BrowserVersion.CHROME)
val url = "https://belovo.drom.ru/jaguar/f-pace/26324638.html"
val req = new WebRequest(new URL(url))
client.getPage[HtmlPage](req)
使用的 HtmlUnit 版本
<dependency>
<groupId>net.sourceforge.htmlunit</groupId>
<artifactId>htmlunit</artifactId>
<version>2.28</version>
</dependency>
加载页面卡在编译https://c.rdrom.ru/js/DromContacts.min.js?3176009243
这段js代码很混乱,可能是这个原因。
日志中的这一行
[2017-12-25 17:15:21,657] WARN [main] Obsolete content type encountered: 'application/x-javascript'.
[2017-12-25 17:15:21,658] TRACE [main] Javascript compile https://c.rdrom.ru/js/DromContacts.min.js?3176009243
然后很长一段时间(5 分钟)什么都没有发生。
有人遇到过这样的问题吗?
【问题讨论】:
-
您期望发生什么?我不认为这些日志消息非常令人担忧。混淆应该不是问题,虽然它使调试变得棘手,所以如果它确实是一个 javascript 问题,那么你应该尽可能尝试用非混淆版本替换它。
-
我希望 WebClient 成功加载页面而不会阻塞 js 编译无限时间。
-
你怎么知道是javascript编译的问题?
-
如果解析 javascript 失败,那么我认为它会立即失败。日志中是否还有其他看起来可疑的行?或者有没有说它正在尝试做某事但从未说它已经完成的部分?
-
因为我尝试将超时设置为 js 执行 client.setJavaScriptTimeout(5000) 并在此 js 文件上出现 TimeoutError 失败
标签: javascript java htmlunit