3
2

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 1 year has passed since last update.

MacでSelenium

Posted at

はじめに

Mac で Selenium環境構築しようと下記を参考にしたけど少し古かった様子

urlib3
find_element_by_name
の対応をしたのでメモ

pip3 インストール

pip3 --version

でバージョンが表示される人はスキップ。
されない人はMacがインストーラーを立ち上げてくれるので暫し待機。

pip3のアップグレード

python3 -m pip install --upgrade pip

バージョン確認

pip3 --version
pip 23.1.2 from /Users/<User Name>/Library/Python/3.8/lib/python/site-packages/pip (python 3.8)

Selenium インストール

pip3 install selenium

chromedriverインストール

pip3 install chromedriver-binary-auto

urlib3のOpenSSL1.1.1サポート終了対応 (暫定

参考先のコードだと実行エラーが発生する

raise ImportError(ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the >'ssl' module is compiled with LibreSSL 2.8.3. See: >https://github.com/urllib3/urllib3/issues/2168

ダウングレード方法確認

urlib3ダウングレード

pip install urllib3==1.26.6

インストールしたものの確認

pip3 list

Package                  Version
------------------------ --------
chromedriver-binary-auto 0.2.6
pip                      23.1.2
selenium                 4.9.1
urllib3                  1.26.6

テスト

python3 test.py

ブラウザが開いてGoogleでSeleniumが検索できていたら成功!

インストール先に合わせて修正する箇所

/Users/<User Name>/Library/Python/3.8/lib/python/site-packages/chromedriver_binary

test.py

# coding:utf-8
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from time import sleep
from selenium.webdriver.chrome import service as fs

# ブラウザを開く
chrome_service = fs.Service(executable_path='/Users/<User Name>/Library/Python/3.8/lib/python/site-packages/chromedriver_binary')
driver = webdriver.Chrome(service=chrome_service)
# Googleの検索TOP画面を開く
driver.get("https://www.google.co.jp/")

# 検索語として「selenium」と入力し、Enterキーを押す。
# search = driver.find_element_by_name('q')  #old
search = driver.find_element("name", "q") #Selenium v4.3.0
search.send_keys("selenium")
search.send_keys(Keys.ENTER)

# 5秒間待機してみる。
sleep(5)
# ブラウザを終了する。
driver.close()

find_elements_by_がなくなったので記述変更対応済み

今までの記述
driver.find_element_by_name('q')

Selenium 4.3.0以降の記述
driver.find_element("name", "q") #new

3
2
2

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?