如何使用Selenium JavaScriptExecutor获取HTML5缓存状态

时间:2015-06-20 05:27:44

标签: java javascript html5 selenium

如何使用Selenium JavaScriptExecutor获取HTML5缓存状态?

我尝试如下,但没有得到正确的状态。

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.html5.AppCacheStatus;
import org.openqa.selenium.html5.ApplicationCache;

public class Html5AppCache {

    public void testHTML5LocalStorage() throws Exception {

        WebDriver driver = new FirefoxDriver();

        driver.get("http://www.w3schools.com/html/tryhtml5_html_manifest.htm");

        JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
        String cacheStatus = (String) jsExecutor.executeScript("return  window.applicationCache.status;");
    }

}

1 个答案:

答案 0 :(得分:0)

在页面完全加载之前执行javascript时出现错误状态

在执行javascript

之前,尝试等待页面中的元素加载

我还发现上面代码中的另一个问题是返回类型为long,无法将其转换为字符串,您将获得READjava.lang.ClassCastException无法转换为java.lang.Long

java.lang.String

我尝试使用上面的代码我得到了正确的状态

希望这可以帮助你...如果有任何问题,请检查并取回