pythonをWindowsにインストールせずにchromeを操作する環境構築手順(selenium使用)


概要

仕事でブラウザの自動化をした方がいいのではないかという場面があった。
ただ、会社から貸与されたWindowsは、自由にソフトをインストールすることが出来ない。
その為、ソフトのインストールをせずに自動化をする必要がありました。
なので、ZipのPythonをダウンロードして、そこにSeleniumをインストールという方法で実行環境を構築しました。
その際の手順を以下に記載する。
(プロキシサーバで制限を掛けられている環境下では難しいかもしれません。)

手順

1. pythonのzipをダウンロードする

1-1. https://www.python.org/ へアクセスする

1-2. Downloads → Windowsをクリックする

1-3. 最新バージョンをクリックする

1-4. 最下部までスクロールして、「Windows x86-64 embeddable zip file」をクリックする

1-5. Zipを適当なフォルダに展開する(今回は、C:\00_myspace\tool\に展開する)

<展開対象>

<展開先>

2. seleniumをインストールできるようにする為、「python38._pth」を書き換える

2-1. importのコメントアウトを削除する

変更前

変更後

3. chromeのドライバーをダウンロードする

3-1. chromeのバージョンを確認する

3-2. https://sites.google.com/a/chromium.org/chromedriver/ へアクセスする

3-3. 確認したChromeのバージョンと同じものをクリックする(今回は、85.0.4183.87を選択する)

3-4.chromedriver_win32.zipをクリックする

3-5.先ほど展開したpythonのフォルダ内にdriverフォルダ + バージョンフォルダを作成して、その中にダウンロードしたドライバーを格納する

C:\00_myspace\tool\python-3.8.5-embed-amd64\driver\850418387

4. seleniumをインストールする

4-1. powershellを起動する

4-2. pythonをインストールしたフォルダへ移動する

4-3. wget "https://bootstrap.pypa.io/get-pip.py" -O "get-pip.py" でpipをダウンロードする

コマンド : wget "https://bootstrap.pypa.io/get-pip.py" -O "get-pip.py"

4-4. python get-pip.py を実行する(実行しなくてもいいかもしれません)

4-5. コマンドプロンプトを起動して、pythonをインストールしたフォルダへ移動し、以下のコマンドを実行する

コマンド : python -m get-pip install selenium

4-6. python用のプログラムを格納するフォルダをpythonフォルダ内に作成する

※ ここでは、「pyfile」フォルダとしておく

4-7. サンプルファイル(chrome.py)を格納する

chrome.py
import time
from selenium import webdriver

#ドライバーを読み込む
driver = webdriver.Chrome('./driver/850418387/chromedriver')
#googleのURLを設定
driver.get('http://www.google.com/')
#1秒sleep(sleepを入れる意味はありません。技術メモの為入れています)
#検索ボックスを指定
search_box = driver.find_element_by_name('q')
#search_box.send_keys('成田ゆめ牧場 オートキャンプ場')
#検索ボックスに検索ワード設定
search_box.send_keys('yahoo')
#検索実行
search_box.submit()
#先頭の検索結果を選択
search_box = driver.find_element_by_class_name('LC20lb')
#クリック
search_box.click()
#yahooニュース等に指定されているクラスの一覧を取得
search_box = driver.find_elements_by_class_name('_2bBRLhI5ZpVYu0tuHZEFrn')
#yahooニュースをクリック
search_box[9].click()
print('10秒後にブラウザを終了します。')
#10秒sleep
time.sleep(10)
#終了(ブラウザを閉じる)
driver.quit()

5. 実行する(例:googleでyahooを検索してyahooニュースをのページまで遷移する)

5-1. コマンドプロンプトでPythonフォルダに移動し、以下のコマンドで実行する

コマンド : python ./pyfile/chrome.py
※ 実行許可を求めるアラートが表示された場合は、許可をする

以上がWindowsでpythonをインストールせずに自動化を実施する手順となります。

Github

参考サイト

https://qiita.com/mm_sys/items/1fd3a50a930dac3db299
https://sites.google.com/a/chromium.org/chromedriver/getting-started