Selenium Webdriver 添加本地存储

问题描述 投票:0回答:2

我尝试将以下标志添加到

LocalStorage
中,但它不起作用。

localStorage.setItem('ClientRedirectEnabled', 'true');

下面是我的代码

public void FlagIntroduce() throws InterruptedException {
    Thread.sleep(20000);
    LocalStorage localStorage = new LocalStorage() {
        @Override
        public String getItem(String s) {
            return null;
        }

        @Override
        public Set<String> keySet() {
            return null;
        }

        @Override
        public void setItem(String s, String s1) {
            setItem("ClientRedirectEnabled", "true");
        }

        @Override
        public String removeItem(String s) {
            return null;
        }

        @Override
        public void clear() {

        }

        @Override
        public int size() {
            return 0;
        }
    };


}

当在 chromedriver 中开始测试时,我将打开控制台和应用程序书签。在本地存储中,我没有在 setItem

中设置的键和值
selenium-webdriver local-storage selenium-chromedriver
2个回答
12
投票

在此处查看示例LocalStorageTest

  @Test
  public void testLocalStorageSetAndGetItem() {
    ChromeDriver driver = new ChromeDriver();
    driver.get("https://www.testurl");

    LocalStorage local = ((WebStorage) driver).getLocalStorage();    
    
    local.setItem("FOO", "BAR");
 
    local.clear();
   
  }

7
投票

在 Java 中,您可以使用

JavascriptExecutor
的实例来为您完成这项工作。

JavascriptExecutor js = (JavascriptExecutor) driver;  
js.executeScript("localStorage.setItem(arguments[0],arguments[1])",key,value);
© www.soinside.com 2019 - 2024. All rights reserved.