ブラウザ(Chrome、Firefox)に拡張機能(CRXファイル)を追加します。
- 構文
- WebDriver.AddExtension( extensionPath )
- 引数
- extensionPath (String)必須
- 追加する拡張機能のCRXファイルパス
- 戻り値
使い方
通常SeleniumでChromeを起動させた場合Chromeで利用するプロファイルとは異なるプロファイルが利用され、拡張機能もない状態で起動します。WebDriver.AddExtension メソッドを使うと拡張機能を追加することができます。
拡張機能のインストール
まず、手動でChromeを起動しウェブストアより追加したい拡張機能をインストールします。
ここではGoogle翻訳を例に説明します。
Chrome ウェブストア - 拡張機能を開き、左上の検索ボックスにGoogle翻訳と入力します。
検索結果からGoogle翻訳を選択し詳細ページにいき、Chromeに追加をクリックします。
ダイアログが出るので、拡張機能を追加を選択。
以下のようにChromeから削除しますと表示が変わればインストールが完了です。
CRXファイルの作成
拡張機能フォルダの確認
WebDriver.AddExtension メソッドで拡張機能を読み込むにはCRXファイルを作成する必要があります。
chrome://versionを開き、プロフィール パスのアドレスを確認します。
プロフィール パスは以下のようになります。usernameは自分のユーザー名に置き換えてください。
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default
このアドレスをエクスプローラーで開き、Extensionsフォルダを開きます。このフォルダがChromeにインストールされている拡張機能を管理しているフォルダになります。
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default\Extensions
以下のフォルダ一つが一つの拡張機能のデータを表していて、このフォルダの中から目的の拡張機能のフォルダを特定する作業に入ります。
拡張機能のID・フォルダパスの特定
chrome://extensionsを開き、右上のデベロッパーモードを有効にします。
デベロッパーモードを有効にすると各拡張機能のIDが表示されるようになります。
このIDと同じ名前のフォルダを拡張機能を管理しているフォルダの中から探し、サブフォルダのバージョンまでを含めたパスをコピーします。
C:\Users\username\AppData\Local\Google\Chrome\User Data\Default\<ID>\<バージョン>
今回のGoogle翻訳の場合、IDはaapbdbdomjkkjkaonfhkkikfgjllcleb、バージョンは2.0.13_0なので以下のようになります。
C:\Users\akita\AppData\Local\Google\Chrome\User Data\Default\aapbdbdomjkkjkaonfhkkikfgjllcleb\2.0.13_0
拡張機能のパッケージ化
chrome://extensionsの拡張機能をパッケージ化をクリックし、拡張機能のルートディレクトリに先程コピーしたパスを貼り付け拡張機能をパッケージ化をクリックします。秘密鍵ファイル(省略可能)は空欄で問題ありません。
これでCRXファイルが作成処理は完了です。
以下のようにCRXファイルが作成されているのが確認できます。
このファイルのパスをWebDriver.AddExtension メソッドに指定すると、拡張機能にGoogle翻訳を読み込んでブラウザを起動することができます。
DIM WebDriver = CREATEOLEOBJ("Selenium.WebDriver")
WITH WebDriver
.AddExtension("C:\Users\akita\AppData\Local\Google\Chrome\User Data\Default\aapbdbdomjkkjkaonfhkkikfgjllcleb\2.0.13_0.crx")
.Start("chrome")
.Wait(10000)
ENDWITH
起動後にピン留めしていますが、右上にGoogle翻訳の拡張機能が追加されていることがわかります。