禁用Firefox中的安全功能

时间:2014-05-28 12:00:07

标签: c# firefox iframe selenium same-origin-policy

我正在使用selenium web驱动程序测试网站。特定网站包含嵌套的iframe。由于同源策略,我无法访问Iframe的内容。因此,我在chrome web驱动程序中禁用了Web安全性,并使用以下Jquery脚本访问这些内容。

$(‘#data’).find(‘iframe’).contents().find(‘html’) 

我通过在初始化时设置这些功能来实现Chrome中的这一功能。

ChromeOptions options = new ChromeOptions();
options.AddArguments("--allow-file-access-from-files");
options.AddArguments("--disable-web-security");
IWebDriver driver = new ChromeDriver(options);

(iframe的域名与我的托管域名不同。)

现在我需要在Firefox中执行此操作。我按照URL中的说明进行操作。但这不起作用。

about:config -> security.fileuri.strict_origin_policy -> false

然后我尝试了这些编辑

about:config -> security.mixed_content.block_active_content -> false

about:config -> security.mixed_content.block_display_content -> false

然后我使用它加载了Firefox配置文件和init web驱动程序。

FirefoxProfile profile = new FirefoxProfile(@"C:\Users\admin\AppData\Roaming\Mozilla\Firefox\Profiles\0nan0gbv.default");

IWebDriver driver = new OpenQA.Selenium.Firefox.FirefoxDriver(profile);

我没有达到上述编辑所期望的效果。错误是权限被拒绝访问属性'文档'

然后我尝试将这些设置设置为新的Firefox配置文件(不在我的机器中使用默认设置)并加载它。

OpenQA.Selenium.Firefox.FirefoxProfile profile = new FirefoxProfile();
profile.SetPreference("browser.privatebrowsing.autostart", true);
profile.SetPreference("security.fileuri.strict_origin_policy", false);
profile.SetPreference("security.mixed_content.block_active_content", false);
profile.SetPreference("security.mixed_content.block_display_content", true);

IWebDriver driver = new OpenQA.Selenium.Firefox.FirefoxDriver(profile);

然后我收到了这个错误,无法找到合适的解决方案。

可能无法覆盖首选项security.fileuri.strict_origin_policy:冻结值= False,请求值= False

我发现question有很多方法可以克服SOP。但那些不是我问题的答案。

应该有办法实现这一目标。我使用的是Firefox 29.0.1

0 个答案:

没有答案