Seleniumの使い方 第1回 環境構築(python×Microsoft Edge)
こんにちは、星杜なぎさです。
1. はじめに
- Seleniumは、Webブラウザの操作を自動化するためのツール
- オープンソースなので、無料で利用可能
- WebスクレイピングやRPA(Robotic Process Automation)などに活用できる
1.1 この記事について
- Seleniumを使うための環境構築の手順をまとめた
- Chromeを使用した例が(公式サイト含め)多かったため、Microsoft Edgeでの使い方をまとめる
企業などの方針でChromeがインストールできない人でも大丈夫です!
1.2 対象読者
- プログラム言語(特にpython)が多少読める、書ける
- PCの基本操作(Drag and Dropなど)を知っている
- Webブラウザの基本操作を知っている
1.3 動作環境
- PC
- OS:Windows 11 Home
- python : 3.12.5
- selenium : 4.31.0
これから始める人には、seleniumのバージョンは4以上(4.x系)を推奨します
Web上の記事には3.x系の頃のメソッドを使用している事例も多いため、注意が必要
具体的には、以下のように3.x系と4.x系でメソッド名が異なるため、他の記事を参考にした際は適時読み替えましょう
検索方法 | Selenium 3.x | Selenium 4.x |
---|---|---|
IDで検索 | driver.find_element_by_id("elementId") | driver.find_element(By.ID, "elementId") |
XPathで検索 | driver.find_element_by_xpath("xPath") | driver.find_element(By.XPATH, "xPath") |
リンクテキストで検索 | driver.find_element_by_link_text("linkText") | driver.find_element(By.LINK_TEXT, "linkText") |
2. 環境構築
大きく分けて3つ行う必要がある
- Pythonの導入
- Seleniumの導入
- WebDriverの入手
2.1 Pythonの導入
以下のリンクからダウンロードしてexeファイルを実行する
(PyPLによると、3.9以上であれば動作するようです(未確認))
インストール後、コマンドプロンプトで以下のコマンドを入力します
python -V
下の画像のように、Python 3.xなどのバージョンが表示されればOKです(画面中では3.12.5)
2.2 seleniumの導入
pip installで簡単に導入できます
python -m pip install selenium
実行後、コマンドプロンプトで以下のコマンドを実行して、ライブラリの一覧に
seleniumが含まれていることを確認しましょう
pip freeze | findstr selenium
下のように、selenium==4.x(画像中では、4.31.0)で表示されればOKです
2.3 WebDriverの導入
以下のサイトからmicrosoft EdgeのWebDriverをダウンロードします
zip形式なので解凍し、作成されたフォルダをそのままプログラムと同じ階層に置いておきます
3.実際に使ってみる
以下のコードで、seleniumのサイトをWebDriverを使って開いてみます
try-exceptで囲う理由は、エラーがあった場合でもセッションを切るためです
from time import sleep
from selenium import webdriver
from selenium.webdriver.edge.service import Service
"""
事前にEdgeのWebDriverを入手しておくこと
"""
SERVICE = Service("./edgedriver_win64/msedgedriver.exe") # msedgedriver.exeのPATH
TARGET_URL = "https://www.selenium.dev/selenium/web/web-form.html" # 接続先のURL
try:
driver = webdriver.Edge(service=SERVICE) # EdgeのWebDriverを使う
driver.get(TARGET_URL) # 指定のURLをWebDriverで開く
sleep(3) # ブラウザが開いている様子を確認する
finally:
driver.close() # すべてのウィンドウを閉じる
driver.quit() # セッションを閉じる
print("complete run!!")
実行時の様子
自動でEdgeが開き、上部に「Microsoft Edgeは、自動テストソフトウェアによって制御されています。」と記載されていればOKです
余談ですが、selenium公式から、一通りWeb操作を試すことができる場所が提供されていたとは...
ありがたや、ありがたや...
今回はここまでです。
読んでいただきありがとうございました☆
参考
- Seleniumブラウザー自動化プロジェクト
https://www.selenium.dev/ja/documentation/ - selenium web-form
https://www.selenium.dev/selenium/web/web-form.html
Discussion