使用WebDriver启动时,Chrome驱动程序无法以预配置的扩展名启动

时间:2013-07-25 09:15:06

标签: webdriver selenium-webdriver selenium-grid selenium-chromedriver

我必须验证谷歌搜索中显示的一些广告。仅当我安装Chrome浏览器的扩展程序时,才会显示这些广告。但是当我从WebDriver脚本启动chrome浏览器时,它会在没有扩展的情况下启动浏览器(即使已经安装了扩展程序)到Chrome浏览器。

我用谷歌搜索但没有得到太多信息。

我尝试了下面的方法,但它没有成功:

DesiredCapabilities capability = DesiredCapabilities.chrome();
System.setProperty("webdriver.chrome.driver", "libs\\chromedriver.exe");               
capability.setCapability("chrome.switches", Arrays.asList("--load-extension=C:\\Users\\ashfaq.md\\AppData\\Local\\Google\\Chrome\\User Data\\Default\\Extensions"));

请帮我解决此问题。

2 个答案:

答案 0 :(得分:1)

您可以在此处了解如何通过ChromeDriver安装Chrome扩展程序:

https://sites.google.com/a/chromium.org/chromedriver/extensions

答案 1 :(得分:0)

虽然没有经过自己测试...请检查以下内容:

 ChromeOptions options = new ChromeOptions()
 options.addExtensions(new File("/path/to/extension.crx"))
 options.setBinary(new File("/path/to/chrome"));

 // For use with ChromeDriver:
 ChromeDriver driver = new ChromeDriver(options);

 // or alternatively:
 DesiredCapabilities capabilities = DesiredCapabilities.chrome();
 capabilities.setCapability(ChromeOptions.CAPABILITY, options);
 ChromeDriver driver = new ChromeDriver(capabilities);

 // For use with RemoteWebDriver:
 DesiredCapabilities capabilities = DesiredCapabilities.chrome();
 capabilities.setCapability(ChromeOptions.CAPABILITY, options);
 RemoteWebDriver driver = new RemoteWebDriver(
     new URL("http://localhost:4444/wd/hub"), capabilities);