我在Java中使用HTMLUnit从网站中提取信息。 进入一个奇怪的现象,页面没有完全解析到DOM树。 以下之后:
HtmlPage lineHours = (HtmlPage) _webClient.getTopLevelWindows().get(1).getEnclosedPage();
观察表达式lineHours.asXml()会产生以下结果(...标记省略的敏感数据)
<?xml version="1.0" encoding="UTF-8"?>
<html>
<head>
<script ...>
</script>
</head>
</html>
打印lineHours.getWebResponse()。getContentAsString()时会产生以下结果:
<html>
<head>
<script ...>
</script>
</head>
</html>
<body>
<div> ...
简而言之,body标签不会被解析为DOM树。因此所有XPath查询和辅助方法(如HtmlPage.getBody())都会失败。在常规浏览器中,页面呈现良好。 有任何想法吗? 谢谢 Tomer的
答案 0 :(得分:0)
最终通过使用Xerces解析器解析DOM树并从中检索结果来解决这个问题。