「SeleniumでChrome拡張機能を使いたい」
上記を実現する方法が、複数存在しています。
この記事では、最も簡単な方法を解説します。
本記事の内容
- CRXファイルの利用
- CRXファイルの取得
- 【動作確認】SeleniumでChrome拡張機能を利用する
それでは、上記に沿って解説していきます。
CRXファイルの利用
本題に入る前に、Seleniumが未インストールなら何も始まりません。
Seleniumをインストールする方法は、次の記事で解説しています。
SeleniumでChrome拡張機能を利用する場合、次の2つが候補になります。
- Chromeに追加した拡張機能を利用する
- CRXファイルを利用する
そして、今回は「CRXファイルを利用する」方法を中心に説明します。
CRXファイルを利用する理由は、わかりやすいということです。
それぞれを下記で説明します。
Chromeに追加した拡張機能を利用する
まず、実際にChromeに対象となる拡張機能をインストールする必要があります。
ここは、別にわかりにくいことはありません。
そして、インストールした拡張機能のパスを調べないといけません。
この時点でもう面倒です。
さらに、保守性も悪くなります。
例えば、次のような懸念が出てきます。
- 拡張機能を再インストールしたらどうなる?
- 他のPCで動かす場合にどうなる?
インストール先のパスは、おそらく環境毎に異なるでしょう。
再インストール(更新)時にも、パス名が同じである保証もありません。
管理する上では、デメリットが大きいと言えます。
あと、Selenium 4になってどうも動作が不安定です。
Manifest is not valid JSON. Can't read file.
上記のようなエラーが出て、拡張機能を利用できません。
CRXファイルを利用する
CRXファイルは、Chrome拡張機能のインストールファイルです。
このCRXファイルを用意するのが、以前はそれなりに面倒でした。
しかし、今は便利なモノが存在しています。
それが、次のChrome拡張機能です。
Get CRX – Chrome ウェブストア
https://chrome.google.com/webstore/detail/get-crx/dijpllakibenlejkbajahncialkbdkjc?hl=ja
まずは、Get CRXをインストールします。
Get CRXを使えば、CRXファイルを簡単に作成できます。
以下で、CRXファイルの取得方法を説明します。
CRXファイルの取得
最初に、作成したい拡張機能のウェブストア上のページにアクセスします。
例えば、次の拡張機能としましょう。
Keyword Surfer – Chrome ウェブストア
https://chrome.google.com/webstore/detail/keyword-surfer/bafijghppfhdpldihckdcadbcobikaca?hl=ja
上記ページ上で右クリックします。
クリック場所は、適当で構いません。
![](https://self-development.info/wp-content/uploads/2021/12/screen-2021-11-30-16-34-35-1024x617.jpg)
そうすると、右クリックしたメニューにGet CRXの機能が追加されています。
上記機能が表示されるのは、拡張機能ページだけのようです。
では、「Get CRX of this extension」を選択。
ファイルがダウンロードできるので、保存先を選択します。
今回は、以下のファイルをダウンロードできました。
![](https://self-development.info/wp-content/uploads/2021/12/screen-2021-11-30-16-38-19.jpg)
ファイル名は、「KeywordSurfer.crx」に変更しておきます。
日本語をファイル名に使うのは、トラブルの元ですからね。
ちなみに、この拡張機能はSEOツールになります。
Googleで検索したキーワードの検索ボリュームを確認できます。
また、サイト毎の推測アクセス数も表示されます。
![](https://self-development.info/wp-content/uploads/2021/12/screenshot-1bf3d370.jpg)
また、関連キーワードとその検索ボリュームや類似性も確認可能です。
![](https://self-development.info/wp-content/uploads/2021/12/image-6.png)
SEOを行う上で役に立つツールになります。
ただ、情報の鮮度は悪いです。
古い情報が表示されるため、その点は注意が必要になります。
下記では、このCRXファイルを使って動作確認を行います。
【動作確認】SeleniumでChrome拡張機能を利用する
動作確認用のコードは、以下。
from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.webdriver.chrome import service as fs CHROMEDRIVER = "chromedriverのパス" EXTENSION_PATH = "KeywordSurfer.crxのパス" # ドライバー指定でChromeブラウザを開く chrome_service = fs.Service(executable_path=CHROMEDRIVER) options = webdriver.ChromeOptions() options.add_argument(f'service={chrome_service}') options.add_extension(EXTENSION_PATH) driver = webdriver.Chrome(options=options) # Googleアクセス driver.get('https://www.google.com/') # 検索ボックスを特定 elem = driver.find_element(By.NAME, 'q') # 「Selenium」と入力して、「Enter」を押す elem.send_keys('Selenium' + Keys.RETURN) # ブラウザを閉じる # driver.quit()
上記コードは、Selenium 4で動きます。
Selenium 3の場合は、一部書き換える必要があります。
そのあたりについては、次の記事で説明しています。
では、コードを実行した結果を確認しておきます。
ブラウザが自動的に立ち上がります。
そして、「Selenium」をGoogleで検索します。
その結果画面は、以下。
![](https://self-development.info/wp-content/uploads/2021/12/image-7-1024x730.png)
拡張機能が、有効であることを確認できます。
以上、SeleniumでChrome拡張機能を利用する方法を説明しました。