首页 > 解决方案 > Selenium Java + Chrome + ModHeader:无法从“Window”读取“localStorage”属性:拒绝访问此文档

问题描述

我愿意设置一个特定的 Authorization 标头值以运行 Selenium Java 测试。

为此,我下载了 ModHeader 扩展。

这就是我实例化我的驱动程序的方式:

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("\\path\\to\\ModHeader.crx"));
driver = new ChromeDriver(options);

这就是我尝试使用 ModHeader 的方式(是的,我在 StackOverflow 上使用了这个,哈哈)。

driver.get("chrome-extension://idgpnmonknjnojddfkpgkljpfnnfcklj/_generated_background_page.html");
JavascriptExecutor js;
js = (JavascriptExecutor)driver;
js.executeScript("localStorage.setItem('profiles', JSON.stringify([{           " +
            "  title: 'Selenium', hideComment: true, appendMode: '',           " +
            "  headers: [                                                      " +
            "    {enabled: true, name: 'Authorization', value: 'Bearer esldfnWhateverjnfksjd..--', comment: ''}  " +
            "  ],                                                              " +
            "  respHeaders: [],                                                " +
            "  filters: []                                                     " +
            "}]));                                 

但是,运行时会引发错误executeScript

org.openqa.selenium.WebDriverException: <unknown>: Failed to read the 'localStorage' property from 'Window': Access is denied for this document.

我更改了我的 Chrome 配置,以便允许所有 cookie,但它没有改变任何东西。

任何想法?

标签: javaseleniumgoogle-chromehttp-headersselenium-chromedriver

解决方案


推荐阅读