【Python】Selenium:Edgeを自動操作する方法

時計 2021.09.09 / 時計

【Python】Selenium:Edgeを自動操作する方法

本記事ではPythonのSeleniumによる、Edgeを操作する方法について解説します。

Seleniumは高度なWebページ操作ができるモジュールです。
ChromeやEdgeなど様々なブラウザをスクレイピングといった自動操作を可能とします。

ChromeとEdgeなど操作するブラウザによって、導入の部分が異なります。本記事ではEdgeを自動操作する方法に焦点を当てて解説していきます。

SeleniumによるChromeの操作については以下記事を参照ください。

SeleniumによるChromeの自動操作

本記事を通して以下の知識を学べます。

学べる知識
  • Edge操作前の事前準備
  • SeleniumによるEdgeの操作方法

Seleniumとは

Seleniumはブラウザの操作・制御に使用されます。特にブラウザを自動操作して情報を集めるスクレイピングに利用されます。

スクレイピングについては以下記事で詳しく解説しています。

Seleniumとは

事前準備

EdgeをSeleniumで操作するにはEdgeのバージョンに合ったWebDriverが必要になります。

またSelenium自体もPythonの標準ライブラリではないため、インストールする必要があります。

SeleniumでEdgeを操作する前の事前準備として次のことを行います。

  • Seleniumのインストール
  • Edgeのバージョン確認
  • Edge用のWebDriverダウンロード

Seleniumのインストール

Seleniumは標準ライブラリではないので、pipでPyPIからインストールしましょう。

pip install selenium

Edgeのバージョン確認

Edgeのバージョン確認は次の流れで行います。

  1. Edge右側の…をクリックし、「設定」を選択
  2. Edge:設定を選択
  3. 「Windows Edgeについて」を選択し、右画面からバージョン情報を確認
  4. Edge:バージョン情報を確認

2021年9月現在では93.0.961.38が最新バージョンです。

EdgeのWebDriverダウンロード

EdgeのWebDriverをダウンロードする方法は2つあります。

  • Microsoftのサイトからダウンロードする
  • Windows10の「オプション機能の管理」からダウンロードする

各方法について見ていきましょう。

Microsoftのサイトからダウンロードする

EdgeのWebDriverをダウンロードするために以下サイトにアクセスします。

Microsoft Edge Driver

EdgeのWebDriverをダウンロードするサイト

次に確認したEdgeのバージョンと同じバージョンのWebDriverをダウンロードします。
基本的には最新のEdge WebDriverをダウンロードすれば大丈夫です。

EdgeのWebDriverをダウンロード

「edgedriver_win64.zip」がダウンロードされますので解凍します。
解凍すると「msedgedriver.exe」が得られます。

このファイルがEdgeのWebDriver本体となり、SeleniumでEdgeを操作する場合に利用することになります。

Pythonスクリプトと同じ階層に保存、またはわかりやすい場所に移動してください。

Windows10の「オプション機能の管理」からダウンロードする

Windows10のオプション機能からEdgeのWebDriverをダウンロードすることができます。

  1. 「スタート」を選択し、「設定」をクリック
  2. Windows10:スタートから設定をクリック
  3. 「Windowsの設定」画面から「アプリ」を選択
  4. Windows10:アプリを選択
  5. 「アプリと機能」画面から「オプション機能」を選択
  6. Windows10:オプション機能
  7. 「オプション機能」画面から「機能の追加」を選択
  8. Windows10:機能の追加
  9. 「Microsoft WebDriver」をチェックし、インストールをクリック

Microsoft WebDriverをインストールしたら、パソコンを再起動します。
これにより、以下パスにWebDriverがインストールされます。

C:\Windows\System32\MicrosoftWebDriver.exe

SeleniumでEdgeを操作する方法

webdriverのインポート

Pythonスクリプトの先頭で次のようにseleniumからwebdriverをインポートします。

from selenium import webdriver

これによりEdgeを起動するためのwebdriverが使用できます。

その他にもEdgeの操作に必要なモジュールはスクリプトの先頭でインポートします。

Edgeを開く

Edgeを起動するためにwebdriver.Edge()を使用します。
引数には取得したmsedgedriver.exeへのパスを指定します。

driver = webdriver.Edge(executable_path="msedgedriver.exe")

Edgeを起動後、希望のサイトにアクセスするためにget()メソッドを使います。
引数にはURLを渡します。

driver.get("https://office54.net/")

この方法ではEdge上に「Microsoft Edgeは自動テストソフトウェアによって制御されています」と表示されます。

Selenium:Microsoft Edgeは自動テストソフトウェアによって制御されています

「Microsoft Edgeは自動テストソフトウェアによって制御されています」を消す

Chromeでこの表示を削除する方法は次の記事で紹介しています。

Edgeではpipでmsedge-selenium-toolsをインストールします。

pip install msedge-selenium-tools

スクリプトでは以下のように記述します。

from msedge.selenium_tools import EdgeOptions, Edge

options = EdgeOptions()
options.use_chromium = True
options.add_experimental_option("excludeSwitches", ['enable-automation'])

driver = Edge(executable_path="msedgedriver.exe", options=options)
driver.get("https://office54.net/")

これにより「Microsoft Edgeは自動テストソフトウェアによって制御されています」という表示を消すことができます。

その他の操作

上記以外はChromeを操作する方法と変わらないです。

PythonのseleniumでEdgeを操作するその他の方法については以下記事をご参照ください。

サンプルプログラム

以下のプログラムは当サイトOFFICE54にアクセスし、pythonページへのリンクをクリックするものです。

import time
from selenium import webdriver

driver = webdriver.Edge(executable_path="msedgedriver.exe")
driver.get("https://office54.net/")

time.sleep(3)

element = driver.find_element_by_css_selector('body > header > div > div > ul > li.category-python > a')
element.click()

まとめ

本記事「【Python】Selenium:Edgeを自動操作する方法」はいかがでしたか。

ぜひSeleniumによるブラウザの自動操作を仕事に応用して、業務効率化を進めてみてください。