【VBA/selenium】seleniumをchrome拡張機能付きで起動する
みなさんこんにちは。
今回は、seleniumをchrome拡張機能付きで起動する方法について
手順を解説していきたいと思います。
この記事がおすすめの人
この記事は以下の人に特におすすめです。
- GoogleChromeの拡張機能について調べている人
- seleniumでWebスクレイピングツールを開発している人
- Webスクレイピング:中級者~上級者
- VBAプログラミング:中級者~上級者
はじめに
Chromeユーザーなら拡張機能の一つや二つご利用中かと思います。
ところがWebスクレイピングを実施する際、
seleniumでブラウザを起動すると拡張機能が無い状態で起動します。
GoogleChromeの設定が必要になりますが、
おおよそ10分程度で完了します。
手順
今回はGoogle翻訳の拡張機能を追加する方法を例として解説します。
まずは、Google翻訳の拡張機能をGoogleChromeに追加してください。
※Google翻訳の拡張機能を追加する方法については割愛します。
全体の大きな流れ
まずはじめに全体の大きな流れとしては以下のようになります。
- GoogleChromeの拡張機能を開く
- デベロッパーモードにする
- IDを確認する
- Google拡張機能のファイル場所を確認する
- 拡張機能をパッケージ化する
- crxファイルが生成される
- 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スクレイピングを使って自動化しましょう!