使用 selenium 从 html 5 本地存储中读取
Posted
技术标签:
【中文标题】使用 selenium 从 html 5 本地存储中读取【英文标题】:Read from html 5 local storage with selenium 【发布时间】:2014-06-04 11:38:38 【问题描述】:我在 c# 中使用 selenium web 驱动程序。 当我使用 javascript 方法写入本地存储时,它工作正常 (我可以通过检查查看 html 页面中的值),但是如果我尝试从本地存储中读取我刚刚编写的内容,它会返回 Null。 感谢您的帮助。
写作(作品):
IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("localStorage.setItem('key','value');");
读取(返回 Null ):
Object Value= js.ExecuteScript("localStorage.getItem('key')");
【问题讨论】:
Selenium API 有一个local_storage
端点:code.google.com/p/selenium/wiki/JsonWireProtocol#/session/…
【参考方案1】:
首先,你应该返回值,其次你应该将返回值转换为已知类型。
value = (String) js.executeScript("return localStorage.getItem('key')");
【讨论】:
从 selenium 2.42 版本开始,如果驱动程序支持,您可以使用webDriver.getLocalStorage()
。
目前 getLocalStorage()
仅适用于 Chrome 驱动程序(和 android 驱动程序,据我所知)
browser.WebStorage.LocalStorage.GetItem("item")【参考方案2】:
更新问题,在 2018 年使用 c# 你会这样做:
browser.WebStorage.LocalStorage.GetItem("item")
【讨论】:
以上是关于使用 selenium 从 html 5 本地存储中读取的主要内容,如果未能解决你的问题,请参考以下文章
用python+selenium从百度获取本地明日的天气信息并根据温度情况邮件提醒
JavaScript-HTML5 使用本地存储登录,安全吗?
Python3 使用selenium库登陆知乎并保存cookie为本地文件
golang从入门到精通,搭建本地selenium自动化测试环境