2
1

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 を Firefox で使用する方法 Anaconda / Jupyter Notebook

Last updated at Posted at 2021-04-18

#背景
はやたすさんの動画【Python × スクレイピング入門⑩】にて Selenium インポートに失敗し、Chrome を諦めて Firefox で試して成功したのでその方法を書くことにした。

#対象読者
以下に当てはまる方。
・Mac 環境
・Chrome で Selenium インポート失敗。
・インポート時のエラーが解決できなかった。

はやたすさんの動画を見て、Anaconda Navigator と Selenium を Anaconda Navigator 経由でインストール済みであることを前提に記載。

geckodriver のインストール

Chrome と同様に Firefox でも driver のインストールを行う。
Assets を開くとダウンロードする箇所がある。

driver を任意の場所に置いた後、以下のコードを Anaconda Navigator で起動させた Jupyter Notebook に貼り付ける。

#Python で使えるようにするコード

main.py
from selenium import webdriver

path = '/ geckodriver の Path をここに入れてください/'
driver = webdriver.Firefox(executable_path=path)
url = 'ここにURLを書いてください'
driver.get(url)

sleep(5)

driver.quit()

実行後、Firefox が起動し指定したURLのWebpageが開けば成功。

#トラブルシューティング
筆者が引っかかったエラー 一覧

can't be opened because apple cannot check it for malicious software.

設定を開いてアクセス許可を出す必要がある。
(以下サイトを参考に解決。https://support.postbox-inc.com/hc/en-us/articles/360041824214-Error-Postbox-can-t-be-opened-because-Apple-cannot-check-it-for-malicious-software-)

Anaconda Navigator の Environments で Selenium が出てこない
Update index をクリックして解決。

NotADirectoryError: [Errno 20] Not a directory:
以下のように記述すると Path が通らなくなる。
driver = webdriver.Firefox('/ geckodriver の path /')

以下のように記述し解決。
path = '/ geckodriver の Path /'
driver = webdriver.Firefox(executable_path=path)

#参考記事
https://qiita.com/hujuu/items/ef89c34fca955cc571ec

#使用環境
Mac book M1 2020 (arm64)
macOS Big Sur

2
1
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?