我有一个要求,我需要确定是否有任何页面正在存储或从 HTML5 数据存储中读取。我正在使用 HTMLUnit 来抓取网页。我在 sourceforge 列表中检查了已构建对 HTML5 存储的支持。HTMLUnit 是否真的为 localStorage、sessionStorage 等创建对象?如果是,我该如何访问它们?
我也想过抓取页面上的所有 Javascript 并搜索关键字,但还有比这更好的方法吗?
我有一个要求,我需要确定是否有任何页面正在存储或从 HTML5 数据存储中读取。我正在使用 HTMLUnit 来抓取网页。我在 sourceforge 列表中检查了已构建对 HTML5 存储的支持。HTMLUnit 是否真的为 localStorage、sessionStorage 等创建对象?如果是,我该如何访问它们?
我也想过抓取页面上的所有 Javascript 并搜索关键字,但还有比这更好的方法吗?
一个简单的测试可能是传递一个执行 setItem('key','value') 存储然后执行 getItem('key') 并检查结果的 javascript 源代码。如果返回某个脚本对象,则表示成功。类似于以下内容:
ScriptResult result = currentPage.executeJavaScript("window.localStorage.setItem('some_key','some_value');window.localStorage.getItem('some_key');");
System.out.println("script result: "+result.getJavaScriptResult().toString());