如何使用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;");
}
}
答案 0 :(得分:0)
在页面完全加载之前执行javascript时出现错误状态
在执行javascript
之前,尝试等待页面中的元素加载我还发现上面代码中的另一个问题是返回类型为long,无法将其转换为字符串,您将获得READ
:java.lang.ClassCastException
无法转换为java.lang.Long
java.lang.String
我尝试使用上面的代码我得到了正确的状态
希望这可以帮助你...如果有任何问题,请检查并取回