【VBA/selenium】seleniumをchrome拡張機能付きで起動する

記事
IT・テクノロジー
みなさんこんにちは。
今回は、seleniumをchrome拡張機能付きで起動する方法について
手順を解説していきたいと思います。

この記事がおすすめの人

この記事は以下の人に特におすすめです。
 ・GoogleChromeの拡張機能について調べている人
 ・seleniumでWebスクレイピングツールを開発している人
 ・Webスクレイピング:中級者~上級者
 ・VBAプログラミング:中級者~上級者

はじめに

Chromeユーザーなら拡張機能の一つや二つご利用中かと思います。
ところがWebスクレイピングを実施する際、
seleniumでブラウザを起動すると拡張機能が無い状態で起動します。
GoogleChromeの設定が必要になりますが、
おおよそ10分程度で完了します。

手順

今回はGoogle翻訳の拡張機能を追加する方法を例として解説します。
まずは、Google翻訳の拡張機能をGoogleChromeに追加してください。
※Google翻訳の拡張機能を追加する方法については割愛します。

全体の大きな流れ

まずはじめに全体の大きな流れとしては以下のようになります。
 1.GoogleChromeの拡張機能を開く
 2.デベロッパーモードにする
 3.IDを確認する
 4.Google拡張機能のファイル場所を確認する
 5.拡張機能をパッケージ化する
 6.crxファイルが生成される
 7.VBAのコードでcrxファイルを指定する
以下に手順の詳細について解説します。

1.GoogleChromeの拡張機能を開く

1.GoogleChromeを起動します。
2.右上の三点リーダー ⇒ 拡張機能 ⇒ 拡張機能を管理 をクリックします。
240402_001.png

3.拡張機能管理画面が開きます。

240402_002.png


デベロッパーモードにする

1.拡張機能管理画面の右上「デベロッパーモード」をONにします。

240402_003.png


IDを確認する
1.デベロッパーモードをONにすると画面構成が変更されます。
2.拡張機能のIDを確認します。
3.IDを覚えるかメモ帳などにコピペして控えておいてください。

240402_004.png


Google拡張機能のファイル場所を確認する

1.Google翻訳のファイルがどのフォルダに保存されているか確認します。
2.ブラウザURLに「chrome://version」を入力し、ページ変遷します。
240402_005.png

3.画面上の「プロフィールパス」に拡張機能のフォルダが格納されています。
4.拡張機能はプロフィールフォルダのサブフォルダに「extentions」フォルダがありますのでここまでフォルダを開いておきます。
5.今回確認したフォルダパスをまとめると、以下フォルダパスになりました。
C:\Users\<ユーザー名>\AppData\Local\Google\Chrome\User Data\Default\Extensions
240402_006.png

6.手順「IDを確認する」で控えていたIDと同じフォルダ名が今回のGoogle翻訳の保存先フォルダになります。
7.フォルダパスをコピーしてメモ帳などに控えておきます。
240402_011.png


拡張機能をパッケージ化する

1.GoogleChromeの画面から「拡張機能をパッケージ化」ボタンをクリックします。
240402_007.png

2.拡張機能パッケージ化のダイアログが表示されます。
240402_008.png

3.手順「Google拡張機能のファイル場所を確認する」で取得したフォルダパスを「拡張機能のルートディレクトリ」に入力します。
4.「拡張機能をパッケージ化」ボタンをクリックします。
240402_009.png


5.crxファイルが作成されました。
240402_010.png

crxファイルが生成される

1.拡張機能が保存されているフォルダパスを見てみるとcrxファイルが生成され
240402_012.png

VBAのコードでcrxファイルを指定する

拡張機能付きでブラウザを起動させるコードを実行します。
 ※driver.AddExtensionで指定するフォルダでは、特殊フォルダ指定(shell:Local AppData)ができないようですので、ユーザ名はご自身のPCのユーザ名を入力してください。
 ※拡張機能のIDもご自身で取得したIDを入力してください。

Private Sub Use_Chrome_With_Extension()
    Dim driver As New ChromeDriver
    driver.AddExtension "C:\Users\<ご自身のフォルダパス>\Extensions\拡張機能のID\2.0.13_0.crx"
    driver.Get <GoogleのURL>
    Stop
    driver.Quit
End Sub

実行すると以下のようになります。
240402_014.png

ちなみに拡張機能を指定せず実行すると以下のようになります。
 ※ブラウザ右上に拡張機能のマークが表示されていません。
240402_013.png

以上になります。

最後に

無事にSeleniumBasicでChromeを起動し、拡張機能でGoogle翻訳が追加されました。
SeleniumBasicで拡張機能を付加させるためには、driver.AddExtensionメソッドにてcrxファイルを指定するのがポイントになります。
ほかの拡張機能を追加したり、複数個起動させたりとご自身でカスタマイズしてみてください。

サービス紹介

Excel&VBAを活用したスクレイピングサービスを出品しております。
サイトの情報をExcelに抽出したり、入力したり、
単純作業を自動化するサービスです。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す