【自動化環境構築②】Python環境でのSeleniumのインストールと実行(Windows11編)

自動化

PythonからSeleniumをインストール。Webを自動実行してくれるツール(WebDriver)をダウンロード。これで簡単に自動化できます!

前回はPythonのインストールを行いました。まだ構築できていない方はぜひ前回の記事をご覧いただき構築を進めてみてください!

今回は実際に環境構築を終わらせた後、Chromeで自動実行してみて動作できるところまでを教えます!

実際にインストールしてみた

コマンドプロンプトを起動する

Windowsのスタートメニューをクリックして「cmd」と入力。エンターキー押下。

コマンドプロンプトが起動する。

pipを使用してseleniumをインストールする

起動したコマンドプロンプトにて「pip install selenium」と入力。エンターキーを押下。

関連パッケージも併せてインストールされるのでしばらく待つ

実行が完了したら最後の文に「Successfully installed」と表示されたことを確認。インストールの一覧に「selenium」があることを確認する。(今回はversion4がインストールされましたのでそちらでコードを書いていきます)

ChromeDriverをインストール

Seleniumだけでは自動実行できません。Chromeの場合、ChromeDriverというWebDriverを間に挟むことで実行することが可能です。

WebDriverは作成したコードをもとにクリックや入力などを代わりに行ってくれるロボットのようなものだと思ってください。

ソースコード(シナリオファイル)WebDriverブラウザ
※動作順のイメージです

Chromeのバージョンを確認

まず、ChromeのバージョンとChromeDriverのバージョンを合わせる必要があるのでChromeのバージョンを確認しておきましょう!

バージョンがあっていなくても直近のドライバであれば動く可能性は高いですが、動作が不安定になったりエラーで終了もしくは起動すらしない可能性がありますので意外と重要なので忘れず確認しましょう!

右上の三点リーダをクリック→「ヘルプ」にマウスオーバー→「Google Clome について」をクリック

表示されたバージョンをメモしておく。※今回(2023年2月 現在)であれば「110.0.5481.100」

Driverをダウンロード・解凍

ChromeDriver - WebDriver for Chrome - Downloads
Current Releases If you are using Chrome version 115 or newer, please consult the Chrome for Testing availability dashbo...

にアクセスする。

先ほどメモをしたChromeのバージョンに一番近いリンクをクリックする

リンクをクリックするといくつかのファイルが表示されています。今回はWindowsで実行するので「chromedriver_win32.zip」をクリックする。

ダウンロードが開始されるのでしばらく待つ。

Chrome標準であればダウンロードフォルダにzipファイルがダウンロードされているのでダウンロードフォルダを開き、zipを展開する。展開したら「chromedrover.exe」があることを確認する。

任意の所にDriverを配置

今回はお試しとしてCドライブ直下に「autotest」というフォルダを作成してそこに先ほど展開した「chromedriver.exe」を配置する

これで自動実行する環境は一通りそろいました!

ちなみに他のDriverはこちらからダウンロード

Microsoft Edge(現行版):ChromeDriverと同じドライバーを使用します。

firefox:geckodriverを使用します。

GitHub - mozilla/geckodriver: WebDriver for Firefox
WebDriver for Firefox. Contribute to mozilla/geckodriver development by creating an account on GitHub.

リクエストがあればこちらの構築手順も作成します!

動作確認してみる

pyファイルの作成

pythonで実行するためにpyファイルを作成しましょう!

今回は「sample.py」にて作成しました。

実行内容はgoogleを開き、検索窓に「オクタンラボ」と入力するところまで確認しました。

Driverの呼び出し

from selenium import webdriver
from selenium.webdriver.chrome import service

そのほかにWebのパーツを探すための機能をインポートしたいため下記も記載します

from selenium.webdriver.common.by import By

Chromeの起動と起動時の最初にアクセスするURLを記載

chromedriver = "C:\autotest\chromedriver.exe"
chrome_service = service.Service(executable_path=chromedriver)
driver = webdriver.Chrome(service=chrome_service)
driver.get('https://www.google.co.jp')

実行したい動作を入力

今回は検索ボックスに入力なので検索ボックスの部品を抽出すればOKです!

selenium ver.4はver.3と書き方が異なっていたので、こちらを参照して作成しました。

send_keys(special)-Python
「Selenium Python」の特殊キーを入力をする「send_keys(special)」の使い方を解説します
引用元:seleniumクイックリファレンス-send_keys

XPATHを基本使用していきます。XPATHの基本的な取得方法は下記ブログ記事を参照してください!

【自動化】Chromeを使用してXPathを簡単に取得する方法
対象の部品を右クリック→「検証」をクリック→対象のコードを右クリック→「Copy XPath」をクリック→貼り付ければ使えるよ!

まず、要素を特定します(find_element)。そのあと特定した要素に「オクタンラボ」を入力してます。(send_keys)

kensaku_box = driver.find_element(By.XPATH, '/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input')
kensaku_box.send_keys('オクタンラボ')

実行してみる

ここまで記載したら実行してみましょう!作成したファイルを保存して

「sample.py」をダブルクリックします。実行するアプリの選択がでたら「Python」を選択します。

コードが正しく書けていれば、しばらくするとchromeが起動しシナリオ通りに実行してくれます。

最後に

実行したコードをこちらに貼っておきます。(from time import sleepは実行した後閉じるのでちょっと待って実行を確認しています。)

#インポート類
from selenium import webdriver
from selenium.webdriver.chrome import service
from selenium.webdriver.common.by import By
from time import sleep

#driver設定および起動設定
chromedriver = "C:\autotest\chromedriver.exe"
chrome_service = service.Service(executable_path=chromedriver)
driver = webdriver.Chrome(service=chrome_service)
driver.get('https://www.google.co.jp')

#自動実行シナリオ
kensaku_box = driver.find_element(By.XPATH, '/html/body/div[1]/div[3]/form/div[1]/div[1]/div[1]/div/div[2]/input')
kensaku_box.send_keys('オクタンラボ')

#結果を見たいため
sleep(10)

コメント

タイトルとURLをコピーしました