質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

受付中

PythonでのSeleniumのインポートが出来ない(Module Not Foundエラーとなる)

Natsuki902
Natsuki902

総合スコア10

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

1回答

0評価

0クリップ

250閲覧

投稿2022/05/07 12:39

編集2022/05/07 23:24

Pythonとseleniumを併用して、Google Chromeを操作するプログラムを作成しようとしているのですが、
いくつかのWebサイトの記述をもとに以下の通りコードを記述してみたのですが、後述のエラーとなり、
先に進むことが出来ません。こちら、どういった原因が考えられ、どう対処すればいいか、勘所をご教示いただきたいです。

※この関数の引数のSfileは「実行するコマンドを記述したファイルのフルパス」、
CDpathは「Chrome Driverのフルパス」が入っています。

Python

import csv import os def RunScenarioBB(Sfile,CDpath): print("Chrome Driverをチェックします。") print("Chrome Driver>" + CDpath) try: if not os.path.exists(CDpath): print("Chrome Driverが存在しません。") return() except: pass finally: pass print("シナリオを読み込みます") try: #Chrome Driverをロード from selenium import webdriver from time import sleep chrome = webdriver.Chrome(executable_path=CDpath) (「from selenium~」で落ちるため、以下省略)

これを実行すると、以下のエラーが発生します。

(前略)
ファイル存在チェック完了。処理開始します。
Chrome Driverをチェックします。
Chrome Driver>【プロジェクトのフルパス】\ChromeDriver\chromedriver100_0_4896_60.exe
シナリオを読み込みます
Traceback (most recent call last):
File "【プロジェクトのフルパス】\MainComp.py", line 41, in <module>
RunScenarioBB(fpath,CDpath)
File "【プロジェクトのフルパス】\RunScenario.py", line 24, in RunScenarioBB
from selenium import webdriver
File "C:\Users\User1\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver_init_.py", line 18, in > >   <module>
from .firefox.webdriver import WebDriver as Firefox # noqa
File "C:\Users\User1\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\firefox\webdriver.py", line 27, in <module>
from selenium.webdriver.remote.webdriver import WebDriver as RemoteWebDriver
File "C:\Users\User1\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\remote\webdriver.py", line 39, in <module>
from .remote_connection import RemoteConnection
File "C:\Users\User1\AppData\Roaming\Python\Python310\site-packages\selenium\webdriver\remote\remote_connection.py", line 23, in <module>
import certifi
ModuleNotFoundError: No module named 'certifi'

なお、このプログラムの記載に際して、以下のページを参照しました。
PythonでSeleniumを使ってChromeを操作するための基礎(自動化)

また、Python本体は2022/5/4時点での最新版(3.10.4)を使用しており、Windows10環境でセットアップしています。
将来的にインターネット接続がないPCでセットアップすることから、pip installをオフラインで行うを参照してSeleniumのインストール作業を行っています。
これが原因の可能性もありますが、その場合オフラインインストールのやり方も確認が必要となります。

pip download -d src selenium
(ここで、いくつかファイルがダウンロードできます。そのうち、以下のファイルをインストール作業の引数にしています)
pip install --find-links C:\Users\User1\Desktop\20220504_PythonSetup\src --no-deps selenium-4.1.3-py3-none-any.whl

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

melian

2022/05/07 13:12

> ModuleNotFoundError: No module named 'certifi' > > pip install --find-links ... --no-deps ... --no-deps を付けて Selenium をインストールしたので、依存関係にあるパッケージがインストールされていない様です。
Natsuki902

2022/05/07 13:41

melianさま !なるほどです。たしかにそれは十分ありそうです。 ・・・メイン質問に記載の通り、将来的にインターネット接続がないPCでセットアップすることから、 1.一度関連モジュールをローカルにダウンロード 2.資材をインストールするPCへ転送 3.ローカルのモジュールをもとにオフラインインストール という段階を踏む必要があるんですよね。。 依存関係にあるパッケージはどうやって調べたものでしょうか… (まだPythonの勉強を始めて間もない(他言語を含めてもあまり歴が長くない)のでこのあたりも弱く申し訳ありません。)

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。