Javascript 在启动selenium脚本之前,如何在浏览器的localStorage中使用ruby设置项
在启动selenium脚本之前,我正在尝试在浏览器的localStorage中设置项 我试图用这个命令清除本地存储Javascript 在启动selenium脚本之前,如何在浏览器的localStorage中使用ruby设置项,javascript,ruby,html,selenium-webdriver,Javascript,Ruby,Html,Selenium Webdriver,在启动selenium脚本之前,我正在尝试在浏览器的localStorage中设置项 我试图用这个命令清除本地存储 driver.get('javascript:localStorage.clear();') 它适用于firefox浏览器。然后我试着设置一个项目 driver.get('javascript:"window.localStorage.setItem('key','value');", item, value):' 命令已执行,但值未更新 我这样做是因为在本地存储中设置了一个值
driver.get('javascript:localStorage.clear();')
它适用于firefox浏览器。然后我试着设置一个项目
driver.get('javascript:"window.localStorage.setItem('key','value');", item, value):'
命令已执行,但值未更新
我这样做是因为在本地存储中设置了一个值之后,我可以在窗口中看到一个需要测试的选项卡
我正在使用Selenium webdriver和ruby。您是否尝试过:
driver.execute_script("<javascript command>")
driver.execute\u脚本(“”)
而不是使用
驱动程序。获取?这将实际执行命令。您还可以使用开发工具的JavaScript控制台测试要运行的命令。我找到了另一种通过Selenium webdriver设置和获取本地存储的方法。
安装Watir后,您可以在irb模式下键入代码:
require 'watir'
browser = Watir::Browser.new # Use webdriver to open chrome.
browser.goto 'http://someurl_that_local_storage_accessiable'
local_storage = browser.driver.local_storage
local_storage['key'] = 'value'
在irb中完成此代码后,您可以检查浏览器中的localStorage中是否有项。我相信是的
ref:我尝试了这段代码,但它仍然无法设置资源驱动程序。执行_脚本(“window.localStorage.setItem('discovery_tab','true')”您是否尝试在JS开发人员控制台中运行它?您需要确保您在一个页面上,以便本地存储能够正常工作。谢谢@David Ambler这段代码工作了驱动程序。执行_脚本(“window.localStorage.setItem('item','value'))太棒了!很高兴您对它进行了排序。