【初心者向け】Python+Selenium+ChromeDriver+shellで作業を自動化してみた①

プログラミング

みなさん、普段PCを開いて最初にやる事って何ですか?
私はYoutubeやNetflix、Amazon Primeなどを開きます。また、自分のブログを開いたりします。
Seleniumを使えばそれらのルーティン作業も自動化することができます。
しかもshellを作成すればワンクリックで自動的に動いてくれます。

今回はそのような自動操作プログラムをPythonで作成してみたいと思います。
プログラミング初心者である筆者でもできたので、みなさんも真似してみてください。

この記事では「Google Chromeを自動的に開く」動作をワンクリックで起動させるまでのステップをご紹介しています。

次の記事では「Google Chromeを自動的に開く、検索BOXに文字を入力する、検索ボタンをクリックする」までの工程をご紹介します。そちらも参考にどうぞ。


自動化プログラム作成手順としては下記の目次の通りになります。

【手順1】Visual Studio Codeをインストールする

まずは、これから開発するための環境を構築していきます。
Visual Studio Code(以後、VSCode)なら軽量でサクサク動くので、おすすめです。

大体の手順は下記の通りです。
1.下記公式サイトにアクセス
https://azure.microsoft.com/ja-jp/products/visual-studio-code/
2.ダウンロード
3.ダウンロードしたZipファイルを解凍
4.VSCodeアプリをダブルクリックで起動
5.日本語対応にする

VCodeの詳しい手順は下記の記事を参考にしてください。

【手順2】Pythonのインストール

今回はインストール方法については割愛します。
下記のProgateというプログラミングの無料学習サイトが詳しくて参考になるかと思います。
https://prog-8.com/docs/python-env

ちなみにコマンドプロンプトで下記のコマンドでPythonがインストールされているか確認することができます。
私は「Python 3.10.6」と出たので最新のバージョンがインストールされていました。
(2022年10月現在)

python --version
Python 3.10.6

【手順3】seleniumのインストール

コマンドプロンプトにてpipコマンドを利用してSeleniumのインストールを行います。

pip install selenium

【手順4】ChromeDriverのインストール

まずはじめにGoogleChromeのバージョンを調べます。
調べ方はChromeの右上の「‥」をクリック>「ヘルプ」>「Google Chromeについて」をクリックします。

下記の通りバージョンは「106.0.5249.103」でした。

バージョンが確認できたら、下記のChromeDriverの公式サイトにアクセスします。
https://chromedriver.chromium.org/downloads
Current ReleasesにChromeのバージョンとダウンロードリンクを確認することができます。

私のChromeのバージョンが「106.0.5249.103」だったので、画面を下へスクロールして探してみますが。。
サイト内には「106.0.5249.103はなく、一番近い数字として「106.0.5249.61がありました。
「Supports Chrome version 106」と記載されているので、「106」系のバージョンでしたら大丈夫かなと思います。

下記の赤枠の部分をクリックします。

下記のページに飛ぶので自分のOSに合ったものをダウンロードしてください。
私は「chromedriver_mac64.zip」をダウンロードしました。

ダウンロードしたZipファイルを解凍します。

解凍した「chromedriver」は必ずPythonのファイルを実行する階層と同じ階層に格納しましょう。
詳細は後ほど説明します。

【手順5】Pythonの新規ファイルを作成する

次にPythonの新規ファイルを作成します。

任意の場所に新規のフォルダを作成します。
今回はデスクトップに「Python」という名前でフォルダを作成しました。

以降、新しく作成するファイルは「Python」フォルダに全て格納していきます。

VSCodeを開いて、左上のファイルマークをクリックし、「フォルダーを開く」をクリックします。

先ほど作成した「Python」フォルダを開きます。

左上のファイルをクリックし、「新しいテキストファイル」をクリック

新規にテキストファイルが作成されるため、下記の赤枠の箇所にコーディングしていきます。

まずはエディタには何も入力せずに「Ctrl+S」で保存します。
任意の名前を入力し、末尾に「.py」というPythonの拡張子を付けて「保存」をクリックします。
今回は「test_python.py」と名付けて保存します。

「test_python.py」と名付けて保存。

保存すると下記のようにPythonの鳥?みたいなマークがファイル名の先頭につきます。

では次の章でPythonのプログラムを作成していきましょう。

【手順6】自動化プログラムを作成して実行する

ではPythonプログラムを作成して実行してみましょう。

まずは、Selenium実行するとGoogle Chromeが自動で開くプログラムを作成します。
下記のサンプルプログラムをVSCodeのエディタにコピペしてください。
※下記の「executable_path=〜」以降の部分は、自分のPCのchromedriverのファイルパス(ファイルの場所)を入力してください。

# 必要なクラスのインポート
from selenium import webdriver

# chromedriverの場所を指定
driver = webdriver.Chrome(executable_path='/Users/ユーザ/Desktop/Python/chromedriver') 
# googleのサイトを表示
driver.get("https://www.google.com/")


次に、5章で作成した「Python」フォルダに、4章でインストールした「chromedriver」とPythonファイルが同じ階層に存在していることを確認します。

※下記の画像のようにPythonのファイルと同じ階層に「chromedriver」があることを確認します。

VSCodeを開きます。

VSCode上でショートカットキー「command+J」を入力してターミナルを開きます。

ターミナル上でファイルを実行します。

実行方法は下記の通りです。
1.自分が作成したPythonファイルの場所に移動。
(下記のコマンドは「デスクトップにある「Python」フォルダに移動する」という意味)

cd ~/Desktop/Python

2.Pythonファイルを実行する。
Pythonを実行するには、ターミナル上で「python <ファイル名>.py」の形でコマンド実行します。
私は下記のように実行しました。

python test_python.py

※実行後に「開発元を検証できないため開けません。」と表示された場合は、下記のサイトを参考にして解決してください。
https://qiita.com/apukasukabian/items/77832dd42e85ab7aa568

3.実行後、自動的に下記の画面のようにGoogleのページが表示されたら無事成功です。

【手順7】ワンクリックで起動させる

では、最後にワンクリックで自動的にPythonファイルを起動するようにします。

手順は簡単です。

1.「〜.command」と言うファイル(shellファイル)を作成する。
2.Pythonファイルを実行する命令文をshellファイルに記述する
3.shellファイルをダブルクリックして実行する。

では、やってみましょう。

まずは、VSCodeを開きます。

左上のファイルをクリックして「新しいテキストファイル」をクリック

下記のように新規ファイルが作成されます。

まずは「Ctrl+S」で保存します。
ファイル名は任意の名前を入力し、必ず末尾の拡張子を「.command」と入力します。
(Windowsでは有名な「.bat」ファイルですが、Macではその代替となるのが「.command」になります)
例として、私は「python.comand」と入力して保存しました。
※保存先は必ずPythonファイルが置いてあるフォルダに保存してください。

保存されると下記の画像のようになります。

ここにshellを起動させるためのプログラミングをしていきます。

起動させるためのプログラムは簡単なもので下記のようになります。たった2行です。

◆python.command

cd `dirname $0` # カレントディレクトリに移動
python test_python.py # Pythonファイルを実行

あとは、このshellファイルをダブルクリックするだけで起動してくれます。
デスクトップなどにエイリアスを作成して固定しておけば、いつでも簡単に起動できるので便利です。

※ダブルクリックしても起動されない場合、ファイルの実行権限がない可能性があります。

その場合は、下記のコマンドをターミナル上で実行します。(VSCodeでもターミナルアプリでもどちらでもOKです)

chmod u+x [ファイルパス]

次回:「文字入力」「検索」「クリック」の動作を自動化する

今回は「Google Chromeを自動的に開く」までの行程のご紹介でしたが、次回は、「Google Chromeを自動的に開く、検索BOXに文字を入力する、検索ボタンをクリックする」という動作を自動化する方法についてご紹介していきたいと思います。

以上

コメント

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