标签归档文章: htmlunit

htmlunit及xpath使用

下面的例子使用htmlunit及xpath , 来获取某网页html中的数据. 可以用来爬虫获取数据等. 更多…

如何关闭htmlunit的warning日志

看着这么多warning日志,心烦意乱? 怎么关闭掉呢?

java.util.logging.Logger.getLogger(“com.gargoylesoftware”).setLevel(Level.OFF);  java.util.logging.Logger.getLogger(“org.apache.http.client”).setLevel(Level.OFF);

将您需要关闭日志的类,并关闭掉. 那么日志就不再乱蹦出来了.

webcrawler 网页爬虫(二)

调试发现, 通过webdriver 使用htmlunitdriver 并无法获得javascript 执行后的html dom 树。 而只是可以获取的html的source 页面。

note: sourcepage 和 经过script解析的html dom ,暂且这么叫。  sourcepage 是经过php,jsp,sevlet也好, 输出的未经过浏览器(客户端)进行解析的html code。 而真正展现在用户面前的, 是经过script,css解析后, 友好展现在用户面前的真实数据。

例如,我写了一个简单的html页面。 有一句简单的js语句。

<html><body>welcome<div><script>document.write(‘<span>hello</span>’);</script></div></body></html>

打开页面后, 我们察看source page, 则看到的如上的代码。 更多…

htmlunit getpage()避免抛出javascript执行和状态码异常

对于我们的浏览器来说, 就是说当js脚本异常,或者css等资源找不到时, 不要让用户无法浏览其余我们正常的部分. 所以我们用htmlunit来模拟browser行为时, 这些设置是非常重要的.

webClient.setThrowExceptionOnScriptError(false);
// 设定当script脚本执行异常时, 不抛出异常.
webclient.setThrowExceptionOnFailingStatusCode(false);
// 当获得失败的状态码时, 设定不抛出异常. 比如经常找不到丢失的css,js资源等.
webclient.setPopupBlockerEnabled(true);
// 将探出的页面阻塞住, 防止因为自动弹出页面.