gpt4 book ai didi

javascript - 无法从浏览器的本地存储中删除项目

转载 作者:太空宇宙 更新时间:2023-11-04 09:53:39 27 4
gpt4 key购买 nike

我正在 Java 中使用 Selenium 开发自动化测试。我想删除本地和 session 存储、cookie 等以拥有“清晰”的 WebDriver。我需要它从网站注销并使用相同的 WebDriver 进行所有测试,而不是为每个测试用例关闭和打开浏览器。

当我删除如图所示的整个本地存储时 - 它被删除。然后我重新加载页面。我没有注销,所有本地存储项目再次出现。

enter image description here

然后我使用键盘上的“删除”键仅删除 active_user_session 项目。然后我立即发现自己已注销。

这很奇怪...为什么当我删除所有存储时我没有注销,并且当我重新加载页面时信息又恢复了。但是,当我只删除一项 active_user_session 项目时,我立即注销了???

好的。让我们来看代码。

((JavascriptExecutor)(driver)).executeScript( String.format(
"window.localStorage.removeItem('%s');", "access_token"
));

这个效果很好。但我似乎需要删除 active_user_session 项目...

((JavascriptExecutor)(driver)).executeScript( String.format(
"window.localStorage.removeItem('%s');", "active_user_session"
));

此代码不起作用:active_user_session 仍然存在!!!

更有趣的是:

    ((JavascriptExecutor)(driver)).executeScript(
"window.localStorage.clear();"
);

删除除 active_user_session 项目之外的所有项目!

为什么???你能解释一下吗?可能是我不知道什么吧……谢谢!

最佳答案

尝试使用这个

 driver.getSessionStorage().clear();
driver.getLocalStorage().clear();

有关此内容的更多信息,请查看link

关于javascript - 无法从浏览器的本地存储中删除项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54404721/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com