1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Selenium環境構築[Mac][Python3]

Last updated at Posted at 2020-10-18

はじめに

ブラウザ操作の自動化に取り組むためにseleniumの環境構築をしたところちょっとつまづいたので備忘録として残します。環境構築で詰まってる人の参考になれば幸いです。

私の環境

  • Macbook Pro 2020
  • macOS Catalina 10.15.7
  • Python 3.8.1

seleniumのインストール

まずは必要とされるパッケージのインストールをします。

pip3 install selenium

ドライバーのインストール

つづいてブラウザ固有のドライバーのインストールをします。
ここではGoogle Chromeのみ解説してますが、FireFoxでも同じようなやり方でダウンロードできると思われます。
(ちなみにFireFoxのドライバー名は"geckodriver"と言うらしいです)

[Google Chrome]
HomeBrewでインストールする場合

brew cask install chromedriver

実行できるかテスト

from selenium import webdriver
browser = webdriver.Chrome()

うまく実行できるかと思いきや以下のエラーが発生!
ブラウザも一瞬立ち上がって落ちた模様・・

python3
Python 3.8.1 (default, Feb 18 2020, 16:49:55)
[Clang 11.0.0 (clang-1100.0.33.17)] on darwin
Type "help", "copyright", "credits" or "license" for more information.

>>> from selenium import webdriver
>>> browser = webdriver.Chrome()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/var/pyenv/versions/3.8.1/lib/python3.8/site-packages/selenium/webdriver/chrome/webdriver.py", line 76, in __init__
    RemoteWebDriver.__init__(
  File "/usr/local/var/pyenv/versions/3.8.1/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/var/pyenv/versions/3.8.1/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/var/pyenv/versions/3.8.1/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/var/pyenv/versions/3.8.1/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 81

どうやらChromeのバージョンとドライバーのバージョンをあわせないと行けないようです。

エラー原因の調査&設定変更

インストールしたドライバーはどうやらversion 81までしか対応していないようです。
ということでまずはChromeのバージョンを確認してみます。

アドレスバーに以下のように入力すると確認できます。
chrome://settings/help
スクリーンショット 2020-10-18 20.45.21.png
最近アップデートしたので最新版がインストールされている模様(86.0.4240.80)
このChromeのバージョンにあったドライバーをダウンロードします。

以下からダウンロードできます。
https://chromedriver.chromium.org/downloads
スクリーンショット 2020-10-18 20.54.32.png
スクリーンショット 2020-10-18 20.54.42.png

zipファイルのため以下コマンドで解凍

unzip chromedriver_mac64.zip
または
tar -xvf chromedriver_mac64.zip

解凍すると以下のファイルができます。

chromedriver

このファイルをpip3と同じ階層に格納します。
pip3の階層は以下で確認できます

which pip3
/usr/local/var/pyenv/shims/pip3

which python3
/usr/local/var/pyenv/shims/python3

この'shims'というディレクトリに'chromedriver'を格納します

cd /usr/local/var/pyenv/shims

pwd
/usr/local/var/pyenv/shims

ls -l | grep chrome
-rwxr-xr-x@ 1 admin  admin  15720316 10 18 21:04 chromedriver

格納できました。もう一度テストしてみます。
実行すると以下ポップアップが表示されました。せっかくダウンロードしたものを削除したくないので一旦キャンセルをクリック。

スクリーンショット 2020-10-18 21.06.00.png

🍎→「システム環境設定」→「セキュリティとプライバシーポリシー」で許可する必要があります。
スクリーンショット 2020-10-18 21.07.04.png
スクリーンショット 2020-10-18 21.07.23.png
スクリーンショット 2020-10-18 21.07.44.png
スクリーンショット 2020-10-18 21.08.03.png

ちゃんとChromeが起動しました。テスト成功!!

おわりに

ひとまず環境構築が終了したのでseleniumをつかって日頃の作業の自動化にチャレンジしてみたいと思います。

1
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?