[英]How can I get local storage data from chrome using selenium for java?
我有一個 chrome 擴展,它存儲帶有清單的本地數據
{
"name": "Tab Listener",
"version": "1.0",
"manifest_version": 2,
"permissions": ["storage"],
"background": {
"scripts": ["content.js"]
}
}
和一個 content.js
chrome.tabs.onActivated.addListener(function(activeInfo) {
chrome.storage.local.set({currentTabIndex: 'testValue'}, function() {
});
chrome.storage.local.get('currentTabIndex', function(result) {
alert('Value currently is ' + result.currentTabIndex);
});
});
據我所知,這很好地存儲了變量,並顯示了警報。 然后,我嘗試使用
WebStorage webStorage = (WebStorage) new Augmenter().augment(driver);
LocalStorage localStorage = webStorage.getLocalStorage();
SessionStorage sessionStorage = webStorage.getSessionStorage();
System.out.println(localStorage.getItem("currentTabIndex"));
System.out.println(sessionStorage.getItem("currentTabIndex"));
並且這兩種情況都返回 null。 我確實使用 chrome 設置啟動了我的驅動程序
ChromeOptions options = new ChromeOptions();
options.addArguments("user-data-dir=C:\\AutoSig\\personal\\chrome");
driver = new ChromeDriver(options);
並確認這確實存儲了 chrome 的數據並將會話傳遞到會話。 我對 chrome 插件比較陌生,不確定我做錯了什么。 此外,我曾嘗試使用此 StackOverflow Post 中建議的實用程序類,但沒有成功。 任何幫助將不勝感激。
public static String getItemFromLocalStorage(String key)
{
JavascriptExecutor js = ((JavascriptExecutor)ios_mob_driver);
return (String) js.executeScript(String.format("return window.localStorage.getItem('%s');", key));
}
我用過並且對我來說工作得很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.