我正在使用Selenium WebDriver来测试我正在开发的Google Chrome扩展程序。我注意到ChromeDriver可以对其进行自定义以将扩展程序添加到启动的Chrome实例中。这可以使用类的AddExtension和AddExtensions方法来实现ChromeOptions。
ChromeDriver
AddExtension
AddExtensions
ChromeOptions
这些方法的文档表明,它们要求扩展名以crx文件的形式提供。由于 我正在 开发扩展程序,因此没有crx文件。我希望能够加载解压后的扩展程序,但是我找不到执行此操作的方法。
我尝试将扩展文件放在zip文件中,并为该AddExtension方法指定了扩展名,但这会导致发生异常,因为它不是crx文件。我还尝试传递包含解压缩文件的目录,但这产生了一个FileNotFoundException。
FileNotFoundException
我怎样才能做到这一点?
通过使用AddArgument将信息直接传递给Chrome 的方法,我能够实现这一目标。这是C#中的样子:
AddArgument
options = new ChromeOptions(); options.AddArgument("--load-extension=" + unpackedExtensionPath);