You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome DevTools修改Local Storage中nextLang值失败求助

代码中的错误及修正方案

你的代码存在几个明确错误,导致无法成功修改LocalStorage的语言键值,具体问题和修正方式如下:

  • 字符串比较逻辑错误:Java里判断字符串内容相等不能用==,这个运算符比较的是对象引用地址,而非字符串内容。原代码中if (localStorrageValue == "it")的判断逻辑永远无法正确触发,需改用equals()方法。
  • 拼写错误:
    • 变量名localStorrageValue多写了一个字母r,规范写法应为localStorageValue(虽不影响运行,但属于不良编码习惯)。
    • 执行脚本时的参数拼写错误:argumets[i]应为arguments[1],你不仅拼错了arguments,还误用了未定义的变量i;同时脚本末尾的冒号:要改为分号;。
  • 冗余对象声明:已经声明过JavascriptExecutor js,无需重复声明js1,直接复用原对象即可。

修正后的代码如下:

JavascriptExecutor js = (JavascriptExecutor) driver;
String localStorageValue = (String) js.executeScript("return window.localStorage.getItem('nextLang')");
System.out.println(localStorageValue);
// 将常量放前面可避免localStorageValue为null时触发空指针异常
if ("it".equals(localStorageValue)) { 
    js.executeScript("window.localStorage.setItem(arguments[0], arguments[1]);", "nextLang", "en");
    driver.navigate().refresh();
}

额外提示:如果页面加载时会从Cookie、后端接口等其他渠道读取语言设置,刷新后可能会覆盖LocalStorage的值,这种情况需要确认页面的语言优先级逻辑,确保修改LocalStorage后能被页面正确读取。

内容的提问来源于stack exchange,提问作者Zoran

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 20:52:03