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
添加回答
举报