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

みなさんこんにちは。

今回は、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.右上の三点リーダー ⇒ 拡張機能 ⇒ 拡張機能を管理 をクリックします。

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

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

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

IDを確認する

1.デベロッパーモードをONにすると画面構成が変更されます。

2.拡張機能のIDを確認します。

3.IDを覚えるかメモ帳などにコピペして控えておいてください。

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

1.Google翻訳のファイルがどのフォルダに保存されているか確認します。

2.ブラウザURLに「chrome://version」を入力し、ページ変遷します。

3.画面上の「プロフィールパス」に拡張機能のフォルダが格納されています。

4.拡張機能はプロフィールフォルダのサブフォルダに「extentions」フォルダがありますのでここまでフォルダを開いておきます。

5.今回確認したフォルダパスをまとめると、以下フォルダパスになりました。

C:\Users\<ユーザー名>\AppData\Local\Google\Chrome\User Data\Default\Extensions

6.手順「IDを確認する」で控えていたIDと同じフォルダ名が今回のGoogle翻訳の保存先フォルダになります。

7.フォルダパスをコピーしてメモ帳などに控えておきます。

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

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

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

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

 ※

4.「拡張機能をパッケージ化」ボタンをクリックします。

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

crxファイルが生成される

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

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\ユーザー名\AppData\Local\Google\Chrome\User Data\Default\Extensions\拡張機能のID\2.0.13_0.crx"
    driver.Get "https://www.google.co.jp"
    Stop
    driver.Quit
End Sub

実行すると以下のようになります。

ちなみに拡張機能を指定せず実行すると以下のようになります。

 ※ブラウザ右上に拡張機能のマークが表示されていません。

以上になります。

最後に

無事にSeleniumBasicでChromeを起動し、拡張機能でGoogle翻訳が追加されました。

SeleniumBasicで拡張機能を付加させるためには、driver.AddExtensionメソッドにてcrxファイルを指定するのがポイントになります。

ほかの拡張機能を追加したり、複数個起動させたりとご自身でカスタマイズしてみてください。

もっと知りたい人へ

Excel&VBAを活用したスクレイピングサービスを出品しております。

サイトの情報をExcelに抽出したり、入力したり、

単純作業を自動化するサービスです。

Excelにてブラウザ操作自動化ツールを作成します その作業、webスクレイピングを使って自動化しましょう!

ご興味がある方はこちら!!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA