2 回答

TA貢獻(xiàn)1877條經(jīng)驗 獲得超6個贊
似乎較新版本的 ChromeDriver(或 Selenium?我不知道。)啟動 Chrome,初始頁面位于 URL 處data:。
通過在實例化之前添加這些系統(tǒng)屬性ChromeDriver:
System.setProperty("webdriver.chrome.logfile", "/Users/craig/chromedriver.log");
System.setProperty("webdriver.chrome.verboseLogging", "true");
在司機(jī)退出之前,我能夠收集到以下信息:
[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)
因此,通過在我的測試實用程序代碼中更改此調(diào)用:
((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);
現(xiàn)在一切都很好。https://i.imgur.com/edBQBeJ.gif

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