如何在Chrome浏览器的本地状态文件中首选ChromeOptions中添加功能?

时间:2013-11-15 03:45:06

标签: c# selenium-chromedriver

这就是我在本地状态文件中的内容:

{
   ...
   "browser": {
      "enabled_labs_experiments": [ "force-compositing-mode-2@1" ],
      "hung_plugin_detect_freq": 2000,
      "last_redirect_origin": "",
      "plugin_message_response_timeout": 25000
   },
   ...
}

我希望ChromeDriver加载我的“enabled_labs_experiments”设置。 这就是我在C#中尝试做的事情:

ChromeOptions options = new ChromeOptions();
options.AddArgument("--start-maximized");
options.AddArgument("--disable-logging");
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("enabled_labs_experiments", "[ force-compositing-mode-2@1 ]");
options.AddAdditionalCapability("localState", dict);
driver = new ChromeDriver(options);

我不认为我的代码有效,因为我使用Chrome浏览器浏览chrome:// flags,该设置仍显示“默认”而不是“已启用”。

我还尝试将代码更改为:

dict.Add("enabled_labs_experiments", "force-compositing-mode-2@1");

......它不起作用。知道我的代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

我知道java.Wish的方式它可以帮助你。这个答案可以在https://sites.google.com/a/chromium.org/chromedriver/extensions找到。 Chrome扩展程序可以打包或解压缩。打包扩展名是扩展名为.crx的单个文件。解包扩展是包含扩展名的目录,包括manifest.json文件。

要打包解压缩的扩展程序,请使用chrome://扩展程序中的“打包”按钮或使用Chrome:“chrome.exe --pack-extension = C:\ path \ to \ unpacked \ extension --pack-extension-key = C:\ myext.pem”。请参阅扩展文档以获取更加自动化的其他方法。要解压缩打包的扩展,只需解压缩文件(您可能需要将文件从.crx重命名为.zip,以便您的zip实用程序识别它)。 通过ChromeDriver安装扩展程序

打包(.crx文件)

ChromeOptions options = new ChromeOptions();
options.addExtensions(new File("/path/to/extension.crx"));
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);

解压缩(目录)

ChromeOptions options = new ChromeOptions();
options.addArguments("load-extension=/path/to/extension");
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);