Anaconda Python Selenium スクレイピング

【Python】MacでSeleniumを使う際に「chromedriver permission mac python」が出た話

この記事は約3分で読めます。

 

 

こんにちは~

 

この前案件で、MACでPythonのコードでSeleniumを実行する際に少しハマったので、メモがてらまとめておこうと思います。

 

Sleniumの初期設定

 

他のサイトに山ほど書かれていますが、一応。

 

まずchromedriverを以下のサイトからダウンロードします。

 

ChromeDriver - WebDriver for Chrome - Downloads
Current Releases If you are using Chrome version 96, please download ChromeDriver 96.0.4664.35 If you are using Chrome version 95, please download ChromeDriver...

 

ダウンロードして解凍すると中に「chromedriver」が入っているのでそれを適当なフォルダに移します

 

次に以下のコマンドでSeleniumをインストールします

$pip install selenium

 

Jupyterlab上でインストールする際は

!pip install selenium

 

これで完了です。以下のソースコードが実行出来たら環境構築は完了しています。

 

from selenium import webdriver
import time

driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

# Googleの検索画面を開く
driver.get("https://www.google.co.jp/")
# 5秒間待機
sleep(5)
# ブラウザを終了する
driver.close()

 

これがサイトによく書かれている手順ですが、これだけだとエラーが出たので、今回は自分が遭遇したエラーメッセージと対処法をメモしておきます。

 

遭遇したエラーメッセージ

 

chromedriver permission mac python

 

chromedriver permission mac python

 

MacでダウンロードしたchromedriverをSeleniumで使うときはパーミッション設定を行う必要があるらしいです。permission自体はPythonのosモジュールで以下のコードを実行すると解決します。

 

import os

# ドライバーのパス(エクスプローラーで表示したときに上部にあるパスをコピーするだけ)
dirname = '~~~/chromedriver' 

# パーミッション変更
os.chmod(dirname, 0o755)

 

ちなみにこれをos.chmod(dirname, 0755)とするとSyntaxError: invalid tokenというエラーがでます、Python2と3で関数から8進数で内部への755の渡し方が変わっているみたいです。

 

 

 

コメント

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