Edited at

SeleniumでChromedriverが内包しているextensionを使わないようにする

More than 1 year has passed since last update.

Seleniumでchromeを動かす時に、chromedriverを使います。

このchromedriverは、内部に専用のChrom拡張を内包していてそれを自動操作に利用しています。

通常はそのことを特に意識する必要はないのですが、弊社だと任意のChrome拡張の利用を制限しているため、これをインストールできずにSeleniumの実行自体が失敗していまいます。

それに対処するためには、以下のようにすることでこのChrome拡張の利用をOFFにすることができるようです

driver = Selenium::WebDriver.for :chrome,

desired_capabilities: { chromeOptions: {useAutomationExtension: false} }

これは、2017/03 ごろに以下の修正で取り込まれた機能のようです。

https://codereview.chromium.org/2785413002

元を正すと以下のissueからの派生で、headlessモードのサポートにあたってこのChrome拡張を廃止してDevToolsに機能を移すことが行われているようです。

https://bugs.chromium.org/p/chromium/issues/detail?id=604324


追記 2017/06/27

proxyの設定を行う場合は以下のようにするらしい

proxy = Selenium::WebDriver::Proxy.new(:pac => "http://myproxy/proxy.pac")

driver = Selenium::WebDriver.for :chrome,
desired_capabilities: { chromeOptions: {useAutomationExtension: false}, proxy: proxy }