现在,当我手动打开Chrome浏览器时,扩展程序会出现在浏览器上,扩展文件夹中的apps文件夹(AppData \ Local \ Google \ Chrome \ User Data \ Default \ Extensions)也不会显示回来。
以下是chromedriver&的版本浏览器。 chromedriver版本:26.0.1383.0 chromebrowser:26.0.1410.64
请帮忙。
答案 0 :(得分:8)
您必须安装要使用的每个扩展程序。在Selenium2 C#API中,它看起来像这样
var options = new ChromeOptions();
options.AddExtension(Path.GetFullPath("local/path/to/extension.crx"));
var driver = new ChromeDriver(options);
,扩展程序将在浏览器中。可以找到java的参考here。有关如何从Chrome商店获取扩展程序的.crx文件,请参阅this question。
答案 1 :(得分:4)
这个答案可以在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);
答案 2 :(得分:2)
如果您希望在测试期间使用扩展程序,则需要使用定义此扩展的配置文件启动chrome,或者将扩展名作为所需属性提供给webdriver。通常,当您通过webdriver启动chrome时,chrome每次都以新的配置文件开始。
因此,如果您要在测试镶边中加载扩展程序,请执行以下操作:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
capabilities.setCapability("chrome.switches",
Arrays.asList("--load-extension=/path/to/extension/directory"));
WebDriver driver = new ChromeDriver(capabilities);
有关此事的更多信息可以在here
找到答案 3 :(得分:0)
ChromeOptions选项=新的ChromeOptions();
options.AddAdditionalCapability(" excludeSwitches",new object [] {" disable-default-apps"});
IWebDriver drv =新的ChromeDriver(选项);
可从webdriver .net bindings 2.40开始提供。