使用Selenium chromDriver打开chrome浏览器实例时,Chrome浏览器上安装的扩展程序丢失

nav*_*ger 8 google-chrome-extension selenium-chromedriver

我这里有一个特殊的问题.当我通过chromeDriver打开chromeBrowser时,缺少预先安装的扩展程序.此外,应用程序扩展程序将从扩展文件夹(AppData\Local\Google\Chrome\User Data\Default\Extensions)中删除.

现在,当我手动打开Chrome浏览器时,扩展程序会出现在浏览器上,扩展文件夹(AppData\Local\Google\Chrome\User Data\Default\Extensions)中的apps文件夹也会显示回来.

下面是chromedriver和浏览器的版本.chromedriver版本:26.0.1383.0 chromebrowser:26.0.1410.64

请帮忙.

cra*_*tad 8

您必须安装要使用的每个扩展.在Selenium2 C#API中,它看起来像这样

var options = new ChromeOptions();
options.AddExtension(Path.GetFullPath("local/path/to/extension.crx"));
var driver = new ChromeDriver(options);
Run Code Online (Sandbox Code Playgroud)

并且扩展名将在浏览器中.可以在这里找到java的参考.有关如何从chrome商店获取扩展程序的.crx文件,请参阅此问题.


小智 5

这个答案可以在这里找到https://sites.google.com/a/chromium.org/chromedriver/extensions。Chrome 扩展程序可以打包或解包。打包的扩展名是带有 .crx 扩展名的单个文件。解压后的扩展是一个包含扩展的目录,包括一个 manifest.json 文件。

要打包解压的扩展程序,请使用 chrome://extensions 中的打包按钮或使用 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);
Run Code Online (Sandbox Code Playgroud)

解压(目录)

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);
Run Code Online (Sandbox Code Playgroud)


nav*_*ger 0

ChromeOptions 选项 = new ChromeOptions(); options.AddAdditionalCapability("excludeSwitches", new object[] { "disable-default-apps" });
IWebDriver drv = new ChromeDriver(选项);

从 webdriver .net 绑定 2.40 开始可用。