如何使用Python和Selenium添加localStorage,是否有类似add_cookie的方法?
Selenium 没有提供类似 add_cookie 一样的封装好的 localStorage 操作API,但你可以通过执行原生 JavaScript 脚本的方式实现 localStorage 的增删改查操作,完全可以满足需求。
核心实现方法
你可以调用驱动的 execute_script 方法执行 JS 操作 localStorage:
- 添加/修改单个 localStorage 项
# 第一个参数是要设置的键,第二个参数是对应的值 driver.execute_script("window.localStorage.setItem(arguments[0], arguments[1]);", "your_key", "your_value")
- 批量添加 localStorage 项
如果你有多个键值对需要写入,可以直接遍历写入:
# 示例:存储你要写入的所有localStorage数据 storage_data = { "user_token": "xxx123456", "theme_preference": "dark", "last_login_time": "1699999999" } for key, val in storage_data.items(): driver.execute_script("window.localStorage.setItem(arguments[0], arguments[1]);", key, val)
注意事项
- 操作 localStorage 之前必须先导航到目标域名的页面,localStorage 和域名绑定,跨域名无法设置对应站点的存储数据,逻辑和 cookie 的域名限制一致。
- 你也可以通过同样的方式实现读取、删除操作:
# 读取指定键的存储值 value = driver.execute_script("return window.localStorage.getItem(arguments[0]);", "your_key") # 删除指定键的存储项 driver.execute_script("window.localStorage.removeItem(arguments[0]);", "your_key") # 清空当前域名下所有localStorage内容 driver.execute_script("window.localStorage.clear();")
内容的提问来源于stack exchange,提问作者ธีรพัฒน์ หงส์วรพิพัฒน์
相关产品推荐
相关产品推荐

