PythonとSeleniumでGoogle Chromeを動かしてみる
サマリ
- 公式のチュートリアルを見つつMacでやってみました。
- 少し詰まった部分があったのでメモ。
試した環境
- OS: macOS Catalina 10.15.5
- Python:3.8.0
- Google Chrome:83.0.4103.116
- webdriver:ChromeDriver 83.0.4103.39
インストール
Pythonのライブラリをインストール
pip install -U selenium
ブラウザドライバーをインストール
ドライバーは使っているブラウザバージョンに合わせて必要なものをDLします。
ブラウザをアップデートしていてもドライバーの最新版をインストールすればいいわけではありませんでした。
(よく見たらバージョンが違ったのでご注意を)
わたしはプログラムを実行するディレクトリと同じ場所に置きました。
vaivailx@MacBook-Pro-2 selenium_test % tree.
├── chromedriver
├── memo.md
└── sample.py
0 directories, 3 files
vaivailx@MacBook-Pro-2 selenium_test %
以下は同じMacでも人によって違うかも環境によるかも。ダウンロードしたものは実行できませんみたいな文言がでたらやってみてください。
ドライバーをDLして解凍したあと、「システム環境設定」の「セキュリティとプライバシー」を開いておく。
解凍したファイルを実行すると、「ダウンロードしたアプリケーションの実行許可」の項目に実行を許可するかどうか出てくるので許可する。
サンプルプログラムを実行
公式のチュートリアルにはdriverを置いている場所にパスを通せって書いています。
ただ、ドライバークラスのインスタンス生成時にドライバーを置いているパスを渡せばいけるようだったので、パス指定でやってみました。
from selenium import webdriver
browser = webdriver.Chrome(executable_path="./chromedriver")
browser.get('http://seleniumhq.org/')
動いた!

seleniumでブラウザ操作するとき、chromeだと「Chromeは自動テスト ソフトウェアによって制御されています。」ってでるんですね。
知らなかった。