【问题标题】:Getting SecurityError: Permission denied to access property "pageXOffset" on cross-origin object in Firefox 97, 98 version, while taking screenshot获取SecurityError:在Firefox 97、98版本中访问跨域对象属性“pageXOffset”的权限被拒绝,同时截图
【发布时间】:2022-07-15 00:38:51
【问题描述】:

在 Firefox 版本 97 和 98 中,当我在 iframe 中切换并截取屏幕截图时出现异常: org.openqa.selenium.WebDriverException: SecurityError: Permission denied to access property pageXOffset" on cross-origin object。

方法中出现异常: org.openqa.selenium.remote.RemoteWebDriver.getScreenshotAs

我可以在 iFrame 中执行点击、getText 和所有其他操作。拍摄截图时唯一例外

Chrome 99 不会出现此类问题。

我尝试设置首选项:

profile.setPreference("browser.tabs.remote.useCrossOriginEmbedderPolicy", false);
            profile.setPreference("security.csp.enable", false);
            profile.setPreference("security.external_protocol_requires_permission", false);
            profile.setPreference("security.fileuri.strict_origin_policy", false);
            profile.setPreference("browser.tabs.remote.useCrossOriginOpenerPolicy", false);
            profile.setPreference("network.http.referer.disallowCrossSiteRelaxingDefault.pbmode", false);
            profile.setPreference("dom.block_external_protocol_in_iframes", false);
            profile.setPreference("dom.block_download_in_sandboxed_iframes", false);
            profile.setPreference("dom.delay.block_external_protocol_in_iframes.enabled", false);
            profile.setPreference("dom.block_download_in_sandboxed_iframes", false);

没用。

但是,当我切换到主要内容并截取屏幕截图时,没有例外,但我的整个网页都在 iFrame 内,因此我必须在 iFrame 内切换并截取整页的多个屏幕截图。 有没有人最近在 Firefox 中遇到过这个问题。请帮忙。

我正在使用 Selenium 版本:3.14.0 并使用 WebdriverManager 进行自动驱动程序下载。

如果我可以添加更多信息,请告诉我。

【问题讨论】:

    标签: selenium selenium-webdriver geckodriver selenium-firefoxdriver


    【解决方案1】:

    我在截屏时遇到了同样的问题。 我设法通过禁用跟踪保护来修复它。 我将首选项添加到选项中,屏幕截图现在可以正常工作了。

    profile.setPreference("privacy.trackingprotection.enabled", false)
    

    【讨论】:

      【解决方案2】:

      我在 Firefox 102.0.1(64 位)上仍然面临这个问题。

          public static WebDriver firefoxSetup() {
          WebDriverManager.firefoxdriver().clearDriverCache().setup();
          FirefoxProfile profile = new FirefoxProfile();
          profile.setPreference("privacy.trackingprotection.enabled", false);
          profile.setPreference("privacy.trackingprotection.enabled", false);
          profile.setPreference("browser.tabs.remote.useCrossOriginEmbedderPolicy", false);
          profile.setPreference("security.csp.enable", false);
          profile.setPreference("security.external_protocol_requires_permission", false);
          profile.setPreference("security.fileuri.strict_origin_policy", false);
          profile.setPreference("browser.tabs.remote.useCrossOriginOpenerPolicy", false);
          profile.setPreference("network.http.referer.disallowCrossSiteRelaxingDefault.pbmode", false);
          profile.setPreference("dom.block_external_protocol_in_iframes", false);
          profile.setPreference("dom.block_download_in_sandboxed_iframes", false);
          profile.setPreference("dom.delay.block_external_protocol_in_iframes.enabled", false);
          profile.setPreference("dom.block_download_in_sandboxed_iframes", false);
          firefoxOptions.setProfile(profile);
          firefoxOptions.setAcceptInsecureCerts(true);
          driver = new FirefoxDriver(firefoxOptions);
          driver.manage().deleteAllCookies();
          return driver;
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-11-16
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多