PythonのモジュールであるSelenium(セレニウム)を使えば、パソコンのブラウザ単純作業を自動化することができます。
今回はSeleniumを用いてChromeブラウザを自動で操作する方法をご紹介させていただきます。
ご興味のある方はぜひご覧ください。
Chromeブラウザのインストールがまだの方は、まずは以下のリンクに飛んでChromeブラウザをインストールしておてください。
そもそもSeleniumってなに?という方はまずはこちらからどうぞ。
Table of Contents
初期設定:Seleniumを利用可能にする
Seleniumのインストール方法
Seleniumはpipコマンドを利用してインストールできます。
ターミナル上で以下のコマンドを入力してインストールを行います。
pip install selenium
Webドライバーのインストール
Windowsの場合、Seleniumを用いたWebブラウザの操作では、専用のWebドライバーのダウンロードが必要になります。
今回はChromeを操作するため、ChromeのWebドライバーである「ChromeDriver」をダウンロードします。
ダウンロードは以下のリンクからどうぞ。
https://sites.google.com/a/chromium.org/chromedriver/downloads
なお、Google ChromeのバージョンとWebドライバーのバージョンは揃える必要があります。
Google Chromeのバージョン確認方法とアップデートは以下の手順で行ってください。
1.Google Chromeを起動する
2.画面右上の点3つのボタンをクリックする
3.「ヘルプ」を選択して、「Google Chromeについて」をクリックする。
4.記載されているバージョンを確認する
Macの場合は、Homebrewを用いてChromeドライバーをダウンロードすることが可能です。ターミナルを開いて、以下のコマンドを実行してください。
brew install chromedriver
ブラウザを自動操作する
ライブラリの読み込み
Pythonのコードを書く前に、ライブラリを読み込む必要があります。コードの冒頭で以下のコードを入力してください。
#Selenium読み込み
from selenium import webdriver
#Chrome Driver読み込み
from webdriver_manager.chrome import ChromeDriverManager
#待ち時間読み込み
import time
#Byの読み込み
from selenium.webdriver.common.by import By
#ブラウザのインスタンス生成
browser = webdriver.Chrome(ChromeDriverManager().install())
ブラウザの起動
ブラウザを起動するために続けて以下のコードを入力してください。
#ホームページを起動するためのコード
browser.get("https://arcuss-service.com/knowledge")
ブラウザの指定した場所に指定した文字を検索する
今回は当サイトの検索ボックスで”slenium”を検索します。
まずキーワード窓のテキストボックスの要素を指定するために、右クリックで検証ツールを確認します。
次に検証ツールでキーワード窓の要素を取得します。
取得した要素をもとに以下のコードを追記します。
#HTML内でキーワード窓を指定する
element = browser.find_element(By.XPATH,"/html/body/main/div/aside/form/input")
#検索するワードを入力する
element.send_keys("selenium")
#2秒間待機
time.sleep(2)
#検索を実行する
element.submit()
#ブラウザを閉じる
browser.quit()
上記のプログラムを実行することで、自動的にキーワード窓に「selenium」と検索することができます。
まとめ
本記事では、Webブラウザの自動操作をするライブラリであるSeleniumの実装方法についてご説明しました。
ブラウザ上の単純作業は非常に面倒くさい作業ですが、このライブラリを利用すれば、時間がかなり短縮できますので是非一度試してみていただけたら幸いです。
ただし、サイトによってはスクレイピング(プログラムによりWeb上の情報を収集する技術のこと)を禁止している場合もあります。
実装する際は、その辺りのことを前もってしっかり確認するようにしてください。
今回紹介したライブラリはSeleniumですが、Python言語の記事を以下にまとめておきます。
興味のある方は是非。