"BOKU"のITな日常

BOKUが勉強したり、考えたことを頭の整理を兼ねてまとめてます。

python3+seleniumでChromeとEdgeを操作する/インストールと環境設定と動作確認

f:id:arakan_no_boku:20190223141926j:plain

Seleniumとその動作に必要なWebDriverのインストールと動作環境設定です。

以前に書いた記事ですが、内容が古くなったので全面リライトしました。

なお、pythonは、3.7系です。 

目次

 Pythonモジュールのインストール

 Windows10環境に、Anacondaをインストールして利用可能になっていることを前提にします。

まだの場合は以下からダウンロードしてインストールしておいてください。

www.anaconda.com

インストールはpipを使えば簡単です。

Seleniumだけをいれる場合

pip install selenium

でも、今はもっと便利なものがあります。

pip install robotframework-appiumlibrary

これをインストールするとSeleniumを含むアプリケーションの自動実行に必要な以下の諸々が一度にインストールされます。 

  • Appium-Python-Client
  • decorator
  • docutils
  • kitchen
  • robotframework
  • robotframework-appiumlibrary
  • selenium
  • six
  • urllib
WEBDriverのインストール

seleniumWEBブラウザを操作するには、各ブラウザに対応するWEBDriverをインストールしておく必要があります。

今回は、Google Chrome と Edgeの2つのインストール方法です。 

WEBDriverのインストール:Chrome用ドライバ

Chromeドライバは、以前はWEBページからダウンロードしてましたが、今は、pipで簡単にインストールできます。

pip install chromedriver-binary==76.0.3809.126

この「==76.0.3809.126」はバージョン指定です。

Chromeドライバは常時開発されているので、バージョン指定せずにインストールすると、現在稼働中のバージョンより進んでしまって動かない場合があります。

こちらのページで自分の環境のChromeにあわせたバージョンを確認して指定します。

chromedriver.chromium.org

インストールしたら、以下のコマンドを実行します。

chromedriver-path

そうすると、以下のようにChromeドライバーがインストールされたフルパスが表示されます。

 c:\users\xxxxxxx\appdata\local\continuum\anaconda3\envs\autotest\lib\site-packages\chromedriver_binary

このパスを環境変数の「PATH」に追加しておきます。

もし環境変数に設定しない場合は、Pythonのソースの中で上記を引数として指定しないといけなくなるので、やっといたほうが楽です。

WEBDriverのインストール:Edge用ドライバ

こちらも以前はWEBページからダウンロードしてましたが、今はWindows10の「オプション機能の管理」からインストールします。

Windowsの設定を開きます。

f:id:arakan_no_boku:20190827211458p:plain

アプリを選びます。

f:id:arakan_no_boku:20190827211559p:plain

オプション機能の管理を選びます。

f:id:arakan_no_boku:20190827211729p:plain

ここで「+機能の追加」を選びます。

f:id:arakan_no_boku:20190827211815p:plain

そうすると、どっかに「Microsoft WebDriver」があるので、それを選択してインストールします。

これで、以下にインストールされます。

C:\\windows\\system32\\MicrosoftWebDriver.exe

このパスが後で使う時に必要になります。 

サンプルソースで動作確認

サンプルソースを動かしてみます。

ソースはこれだけです。

まずはChromeから。

 

import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.google.com/')
search_box = driver.find_element_by_name("q")
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5)
driver.quit()

続けで、Edgeで同じことをするソースです。

import time
from selenium import webdriver

driver = webdriver.Edge(
    executable_path='C:\\windows\\system32\\MicrosoftWebDriver.exe')
driver.get('https://www.google.com/')
search_box = driver.find_element_by_name("q")
search_box.send_keys('ChromeDriver')
search_box.submit()
time.sleep(5)
driver.quit()

どちらも、Google画面を表示して、ChromeDriverで検索して結果を表示します。

その後、5秒だけ待って、自動終了するようにしています。

これが動けば、インストールと環境設定はうまくいってます。 

今回はこんなところで。 

ではでは。