【问题标题】:Can I access HTML5 storages using HTMLUnit我可以使用 HTMLUnit 访问 HTML5 存储吗
【发布时间】:2012-02-09 19:10:31
【问题描述】:

我有一个要求,我需要确定是否有任何页面正在存储或读取 HTML5 数据存储。我正在使用 HTMLUnit 来抓取网页。我在 sourceforge 列表中检查了已构建对 HTML5 存储的支持。 HTMLUnit 是否真的为 localStorage、sessionStorage 等创建对象?如果是,我该如何访问它们?

我也想过把页面上的所有 Javascript 都抓取下来,然后搜索关键词,但是有没有比这更好的方法?

【问题讨论】:

  • 抱歉,我没完全明白这个问题。您想要一种方法来确定网页是否具有 HTML 5 文档类型?
  • 您好,感谢您的评论。我有兴趣确定是否有任何网页在此处定义的 Web 存储接口中存储数据或读取数据:w3.org/TR/webstorage/#the-storage-interface。通常这是通过诸如localStorage.setItem('key','value');localStorage.getItem('key'); 之类的javascript 命令来完成的。 HTMLUnit 是否提供任何方法来识别网页对这些存储的使用?

标签: html local-storage htmlunit session-storage


【解决方案1】:

一个简单的测试可以是传递一个执行 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());

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-29
    • 2010-11-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-24
    相关资源
    最近更新 更多