2 回答

TA貢獻1877條經驗 獲得超6個贊
似乎較新版本的 ChromeDriver(或 Selenium?我不知道。)啟動 Chrome,初始頁面位于 URL 處data:。
通過在實例化之前添加這些系統屬性ChromeDriver:
System.setProperty("webdriver.chrome.logfile", "/Users/craig/chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
在司機退出之前,我能夠收集到以下信息:
[1561563455.971][INFO]: [01517094c63c0dd609c06a5622afe6b1] RESPONSE ExecuteScript ERROR <unknown>: Failed to read the 'localStorage' property from 'Window': Storage is disabled inside 'data:' URLs.
(Session info: headless chrome=75.0.3770.100)
因此,通過在我的測試實用程序代碼中更改此調用:
((WebStorage) driver).getLocalStorage().setItem("token", token);
對此:
if (driver.getCurrentUrl().startsWith("data:")) {
// Driver will quit if we try to access localStorage without a page load
driver.get("/");
}
((WebStorage) driver).getLocalStorage().setItem("token", token);
現在一切都很好。https://i.imgur.com/edBQBeJ.gif

TA貢獻1878條經驗 獲得超4個贊
編輯:
LocalStorage 僅在啟動任何網站后可用。即在 driver.get 之后
https://seleniumhq.github.io/selenium/docs/api/java/org/openqa/selenium/html5/LocalStorage.html
添加回答
舉報