gpt4 book ai didi

PhantomJS 没有一致地持久保存 localStorage

转载 作者:行者123 更新时间:2023-12-02 23:49:37 25 4
gpt4 key购买 nike

我正在尝试制作一个孤立的测试用例来试验 PhantomJS localStorage 行为,但在我的测试用例中,localStorage 似乎不是持久的。

这是 PhantomJS 脚本:

var page = require('webpage').create();
page.open('http://localhost:8080/myapp/test.html', function() {
var x;
x = page.evaluate(function() {
return localStorage.getItem("foo");
});
console.log(x);
phantom.exit();
});

当 test.html 调用 localStorage.setItem("foo", "bar") 时,脚本按我的预期显示“bar”。但是,当我从 test.html 中删除 localStorage.setItem 调用时,脚本会打印出一个空行 - 即使该项目应该位于上次调用的 localStorage 中。

根据对我的实际应用程序进行的更复杂的测试,localStorage仍然存在。我不确定是什么触发因素使 localStorage 的更改与 PhantomJS 保持一致。

我在 Windows 上使用 PhantomJS 1.9.7 和在 Linux 上使用 1.9.1 得到了相同的结果。

最佳答案

这可能与时间有关。如果退出 phantom 太快,对 localStorage 的更改可能不会保留。将 phantom.exit() 更改为 setTimeout(phantom.exit, 1500) 似乎有效。

关于PhantomJS 没有一致地持久保存 localStorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23478891/

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