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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

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

Q&A

解決済

1回答

9336閲覧

python selenium webdriver_manager がimportできない

roseai2

総合スコア2

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Chrome

Google Chromeは携帯、テレビ、デスクトップなどの様々なプラットフォームで利用できるウェブブラウザです。Googleが開発したもので、Blink (レンダリングエンジン) とアプリケーションフレームワークを使用しています。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

selenium

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

0グッド

0クリップ

投稿2021/07/08 06:06

PythonでWebスクレイピング(Selenium)のため
webdriver_managerを使いたく、jupyter notebook上で

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager

を実行したところ、

ModuleNotFoundError Traceback (most recent call last)
<ipython-input-4-e2f2071796ff> in <module>
----> 1 from webdriver_manager.chrome import ChromeDriverManager

ModuleNotFoundError: No module named 'webdriver_manager'

のエラーが出て先に進めずにおります。

windows10、anacondaプロンプトにて、Anacondaの仮想環境内に、

「conda install-c conda-forge webdrivermanager」でインストール
しました。
conda listで確認しましたら「webdrivermanager_0.10.0」と
ありインストールはされていると思います。

色々検索しましたが、PiPでwebdrivermanagerをインストール
する方法ばかりです。

Anaconda使用者は、混ぜないよう、できるだけcondaでインストール
をとの事でそうしましたが、それがダメだったのでしょうか?

どのようにすれば使用できるようになりますでしょうか?
よろしくお願いいたします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/07/08 07:54

conda install... を実行したのと同じ状態で (Anacondaプロンプトで、その仮想環境を有効にして) pip show webdrivermanager を実行してください いろいろ表示される中に「Location:」で始まる行がありますので、そこに書かれてるパスを記録してください (condaで入れたものでも、pip show...で情報を表示できます) 次に、Jupyter Notebookで下記のpythonコードを実行してください import sys import pprint pprint.pprint(sys.path) たくさんパスが表示されますが、その中にpip show...で記録したパスが入ってますでしょうか? 入ってないとimportできません
roseai2

2021/07/08 11:26

丁寧なご回答を下さりありがとうございます。 お教えの通り以下を行いました。 pip show webdrivermanagerを実行して 「Location: c:\users\username\anaconda3\envs\python\lib\site-packages」 のパスがありました。 import sys import pprint pprint.pprint(sys.path) を実行しましたら たくさんのパスの中に、1番近いもので 'C:\\Users\\username\\anaconda3\\envs\\PYTHON\\lib\\site-packages' というのがありました。 ちなみに仮想環境の名前を大文字で「PYTHON」と作成しております。 「Location:」で表示されたものとは「python」と「PYTHON」、 の他、 「c:\users」のCやUが小文字、大文字などと、「\」が1つや2つ 入っているなどの点が異なりますが、何か関係しておりますでしょうか? これはパスが通っていないということになりますか? その辺りも分かっていない初心者ですが、上記の内容で、 パスが通っていない場合、もしくは通っているよと いう場合にimportをする方法はどうなりますでしょうか? お手数をおかけ致しますが、よろしくお願いいたします。
jbpb0

2021/07/08 11:48 編集

それなら大丈夫なはずです 確認ですが、インストールしたのは「webdrivermanager」ですよね? 「webdriver_manager」ではないですよね? 「from webdriver_manager.chrome import ChromeDriverManager」 は「webdriver_manager」の使い方で、もしかしたら「webdrivermanager」の使い方は違うのではありませんか?
roseai2

2021/07/08 11:56

「webdrivermanager」と 「webdriver_manager」2つあるのでしょうか? 検索して見つけた 「conda install-c conda-forge webdrivermanager」で、インストールしたので 「_」は付いていないはずなのですが…。 もう一度 conda listで確認しました。 webdrivermanager 0.10.0 pyhd8ed1ab_0 conda-forge こちらも「_」は付いてません。 ちなみに python 3.8.5 h5fd99cc_1 となってましたが、chromedriverのようにバージョンを 合わす必要とはなかったのですよね? 質問ばかりですみません。よろしくお願いいたします。
roseai2

2021/07/08 12:58

ありがとうございます。jbpb0様仰せの通り 動画でlessonを受けて入力していたのは 「from webdriver_manager.chrome import ChromeDriverManager」で、 インストールしたのは「webdrivermanager」だったようです。 私の方は「_」不要だったようです。「_」を削除したら パスが通りました。 ご紹介いただいた「qiita」のページは検索中に何度も訪れており、 「注意&参考」からのリンクも何度も見てました。 が、自分では気づけませんでした。 jbpb0様のおかげで気づけましたありがとうございます。 その後、動画の続きの指示で、 「browser = webdriver.Chrome(ChromeDriverManager().install())」 を実行しましたが、またエラーが出てしまいました。 AttributeError Traceback (most recent call last) <ipython-input-3-a0d4b1f7848a> in <module> ----> 1 browser = webdriver.Chrome(ChromeDriverManager().install()) AttributeError: 'ChromeDriverManager' object has no attribute 'install' こちらについてはこれから再度、色々検索して調べてみます。 今回初めて、teratailで質問させて頂きました。 jbpb0様にはお忙しいところ、色々とご教示いただき ありがとうございました。感謝申し上げます。
jbpb0

2021/07/08 14:28 編集

https://github.com/rasjani/webdrivermanager の「Example module usage」を見ると、下記のように使うみたいです from webdrivermanager import ChromeDriverManager gdd = ChromeDriverManager() gdd.download_and_install() 上記を実行したら、おそらくその後は下記のように実行できるのではないですかね browser = webdriver.Chrome()
roseai2

2021/07/09 11:56

jbpb0様ありがとうございます。 勤務中でお返事ができず申し訳ありません。 「browser = webdriver.Chrome(ChromeDriverManager().install())」 のエラー対応まで教えて頂きありがとうございます。 from webdrivermanager import ChromeDriverManager gdd = ChromeDriverManager() gdd.download_and_install() を実行し、こちらはエラー出ずでしたが、 その後の「browser = webdriver.Chrome()」では エラーになり、ブラウザは起動しませんでした。 初心者には「webdrivermanager」と「webdriver_manager」の インストールでこんなに使用手順が違うのかと驚いています。 (動画のlesson通りには進まないです。) 質問表題の「python selenium webdriver_manager がimportできない」 については既にご教示いただいておりますので、その後も続けて伺うのは ダメかなと思いますので、(ブラウザが立ち上がらず、まだ進めませんが) webdrivermanagerの件を引き続き調べたいと思います。 jbpb0様ここまで丁寧に色々と教えていただき、 本当にありがとうございました。
jbpb0

2021/07/11 08:12 編集

gdd.download_and_install() を実行した際に、「chromedriver.exe」がどこにあるのか表示されてませんか? https://github.com/rasjani/webdrivermanager の「Example module usage」では、「/Users/rasjani/bin/geckodriver」と表示されてるところです もし「chromedriver.exe」の場所が表示されてるなら、その場所を browser = webdriver.Chrome('表示されてるパス') としてみてください お使いのOSがWindowsなので、おそらく下記のようになります browser = webdriver.Chrome('C:\...\chromedriver.exe') 「...」の部分は、表示されてる通りに書いてください
roseai2

2021/07/12 05:09

jbpb0様、できました!ありがとうございます!! 感謝、感激です!! 検索したり、githubも読みましたが、いまいち理解できず、苦しい状況でした。 browser = webdriver.Chrome('表示されてるパス')の件も、パスが2つあり jbpb0様より、「/Users/rasjani/bin/geckodriver」と表示されてるところと お教えいただき、「bin」があるのは一つでしたので、そちら入力で ブラウザが立ち上がりました。ありがとうございます。 webスクレイピングはこれからですが、まずはサイトへ自動ログイン できました。嬉しいです。jbpb0様のおかげ様です。ありがとうございます。 その後、動画で、ヘッドレスモードの説明もあり、 こちらも browser = webdriver.Chrome(options=options) と説明ありましたが、 browser = webdriver.Chrome()でブラウザが立ち上がらなかったので、 browser = webdriver.Chrome('C:/Users/username/AppData/Local/rasjani/WebDriverManager/bin/chromedriver.exe',options=options) と実行しましたらできました。ありがとうございます。 ちなみに、私の場合は、このような長いパスを入れないとエラーになってしまうのは、 私が始めに 1. 「webdriver_manager」ではなく、「webdrivermanager」を入れてしまったからということでしょうか? 「webdrivermanager」の使い方はそうなるよということでしょうか? それとも、動画の講師の方、長いパスを入れずに進められるように何か工夫をされているということでしょうか? jbpb0様にここまで教えていただいておきながら、大変失礼な質問ではありますが 2. もし私が「webdrivermanager」をアンインストールして、「webdriver_manager」を入れるとすると この長いパスを毎回入れずとも、動画講師の方が説明している browser = webdriver.Chrome(ChromeDriverManager().install()) browser = webdriver.Chrome() などの短い表記で実行できるのでしょうか? 3. また、仮に、「webdrivermanager」を入れたままで、「webdriver_manager」も 入れてどちらかを選んで使用するということもできるのでしょうか? 同じような機能を同じ環境の中に入れることは、しない方が良いのでしょうか? すみません、まだ少し質問があるのですが、可能でしたら教えていただけますと幸いです。 今回私が、「webdrivermanager」を入れてしまったのは、 「Anaconda使用者はpipとcondaを混ぜると環境が壊れるのでcondaでinstallせよ」 という記事を何度か目にしていたため、condaでinstallできるライブラリを探しており 「conda install-c conda-forge webdrivermanager」を見つけ、間に「_」がある無しの 違いもわからず入れてしまったのです。 4. この「環境が壊れる」というのは使っている、その仮想環境が壊れるということでしょうか? それとも、Anaconnda全体が壊れるのでしょうか? (プログラミング初心者のため、anaconda、pythonの環境構築に すごく手間取り、何日もかかったので、壊れてまた1から環境構築は避けたいと思っています。 いずれはそういう事にも出来るようにならないとと思っていますが、自分で言うのも変ですが 最初の方で嫌になって挫折しないよう、ちょっぴりpythonの楽しさや便利さを知ってからと 考えています。) 5. jupyter notebook上で(使用中に) conda installや、pip install でライブラリをinstallできるのでしょうか? (動画のlessonは、Macで、pipで、その場でinstallされてますが、私の環境は異なると思い) 現在、anacondaプロンプトから、仮想環境に入り、jupyter notebook立ち上げ、 使用中に何かのライブラリが必要になったら、jupyter notebookを閉じ、 anacondaプロンプトに戻ってcondaでinstallできるものを検索し あればそれをinstallし、pipしかできないものは、入れるのを控えているという状態です。 condaに無いライブラリはpipで入れるしかないと思うのですが環境が壊れるというのを 恐れています。 本題の質問とはズレてしまい申し訳ありません。 今回の経緯をご存じなのでjbpb0様に伺った方がよいかと思いお尋ねさせて頂きました。 すみません、質問がいくつかになりましたので、質問の前に番号を付けさせて頂きました。 勝手をして申し訳ありません。(ここでの回答はできないよという場合はそのように仰せくださいませ) jbpb0様には、本当に大変お世話になりました。 エラーばかりで進まず、めげそうになっておりましたところ 助け船をくださりありがとうございました。感謝しております。
jbpb0

2021/07/12 10:13

「webdrivermanager」と「webdriver_manager」のどちらも私は使ってないので、下記はネットの解説記事に書いてあることの受け売りなので、間違っている可能性はあります 現状で、Windowsの設定で、環境変数Pathに C:/Users/username/AppData/Local/rasjani/WebDriverManager/bin を追加したら、 browser = webdriver.Chrome() でも大丈夫になると思います 「webdriver_manager」は、Pathへの追加まで自動的にやってくれるみたいで、自分でPathに追加しなくても、インストールしてimportするだけで大丈夫なようです もしかしたら、OS上のPathに追加するのではなく、Python内でのみ有効なPathみたいなものに追加してるのかもしれません 両方入れても大丈夫かは、やったことがないので分かりません それをしても特にメリットがあるように思えないので、世の中でそうしている人はあまりいないと思いますから、検索しても大丈夫かどうかの情報は得られないと思います やらない方が無難でしょうね 4, 5は、元の質問とかなり内容が離れているので、別の質問にしてください いろんな意見があると思いますので、他の人の意見も聞いた方がいいです
roseai2

2021/07/12 11:47

jbpb0様、ありがとうございます。長文失礼しました。 かしこまりました。質問4,5については別途質問をするように致します。 質問1,2,3教えていただきありがとうございました。環境変数Pathやってみます。 jbpb0様がお詳しいので、「webdrivermanager」等をご利用されているものだと思っておりました。 わざわざ、記事を見つけてくださり、初心者にも分かるようにかみ砕いて 説明をして頂いていたとは恐れ入ります。ありがとうございます。 私の検索の仕方がまだまだなのと、読んでも理解が乏しかったので、とてもありがたかったです。 こういったサイトへ質問するのは今回が初めてでしたが jbpb0様に回答を頂けたこと、とても嬉しかったです。 何とか自分でと、何日も検索してエラー続きでもうダメと、くじけそうでしたが 初めての質問へjbpb0様が丁寧親切にご回答をくださったおかげで何とか先へ進めることができました。 そして、とても分かりやすかったです。本当にありがとうございました。 jbpb0様をベストアンサーにさせて頂き、解決済みにしようと思うのですが、やり方がわかりません。 ヘルプを見ますと 「質問に付いた回答の中から一番参考になった回答を選びベストアンサーボタンをクリックしてください。」 とあります。(これしか記載がありません) 「質問への追記・修正の依頼」欄ではボタンが押せないようです。 jbpb0様に「回答」を作成頂くと、そこに押せる、ベストアンサーボタンがあるのでしょうか? 「teratail ベストアンサー」で検索し、そのように行うのだとありました。 今のところ、ボタンが見当たりません。 お手数ですが「回答」にして頂けますでしょうか。 私が何か行う手続きがあれば仰せくださいませ。 何卒、よろしくお願いいたします。 ありがとうございました。
roseai2

2021/07/13 00:24

jbpb0様をベストアンサーにさせて頂きたい件で、teratail事務局にも質問し 下記の回答を得ました。 回答ではなく、コメントでの解決のため、ベストアンサーがつけられない状態です。 今回の場合、下記どちらかの対応をご検討頂ければと思います。 1.質問への回答欄で「xxさんに回答していただいた方法で解決しました。その方法は〜」という形で自己解決する 2.回答者に回答欄に書いて頂くのを待つ。(どのコメントで解決に至ったのかをお伝えして、詳細は先方にお任せする形にする) 自己解決では無い上に、ベストアンサーボタン押せないので、上記2の形で、ベストアンサーボタンを押したいと考えています。 たくさんの回答を得まして、どれも解決に必要なものばかりでした。 まとめないといけないようでしたら、jbpb0様から頂いたコメントを下記にまとめてみました。 (ほとんど全部です…。編集が必要な場合はjbpb0様にお任せいたします。) 回答欄へのご記入をお願いできますでしょうか? お手数をおかけしますが、何卒、よろしくお願いいたします。ありがとうございました。 conda install... を実行したのと同じ状態で (Anacondaプロンプトで、その仮想環境を有効にして) pip show webdrivermanager を実行してください いろいろ表示される中に「Location:」で始まる行がありますので、そこに書かれてるパスを記録してください (condaで入れたものでも、pip show...で情報を表示できます) 次に、Jupyter Notebookで下記のpythonコードを実行してください import sys import pprint pprint.pprint(sys.path) たくさんパスが表示されますが、その中にpip show...で記録したパスが入ってますでしょうか? 入ってないとimportできません 確認ですが、インストールしたのは「webdrivermanager」ですよね? 「webdriver_manager」ではないですよね? 「from webdriver_manager.chrome import ChromeDriverManager」 は「webdriver_manager」の使い方で、もしかしたら「webdrivermanager」の使い方は違うのではありませんか? https://qiita.com/YoshikiIto/items/000f241f6d917178981c の「注意&参考」に書かれてますけど、 ・webdriver_manager ・webdriver-manager ・webdrivermanager は全て別のものです https://github.com/rasjani/webdrivermanager の「Example module usage」を見ると、下記のように使うみたいです from webdrivermanager import ChromeDriverManager gdd = ChromeDriverManager() gdd.download_and_install() 上記を実行したら、おそらくその後は下記のように実行できるのではないですかね browser = webdriver.Chrome() gdd.download_and_install() を実行した際に、「chromedriver.exe」がどこにあるのか表示されてませんか? https://github.com/rasjani/webdrivermanager の「Example module usage」では、「/Users/rasjani/bin/geckodriver」と表示されてるところです もし「chromedriver.exe」の場所が表示されてるなら、その場所を browser = webdriver.Chrome('表示されてるパス') としてみてください お使いのOSがWindowsなので、おそらく下記のようになります browser = webdriver.Chrome('C:\...\chromedriver.exe') 「...」の部分は、表示されてる通りに書いてください
guest

回答1

0

ベストアンサー

python

1from webdriver_manager.chrome import ChromeDriverManager

は「webdriver_manager」の使い方です

「conda install -c conda-forge webdrivermanager」でインストールしました。

Python+SeleniumWebDriverではwebdriver_managerを使うといちいちdriverのexeを置き換えなくて済む
の「注意&参考」に書かれてますけど、「webdriver_manager」と「webdrivermanager」は別のものです

webdrivermanager
の「Example module usage」を見ると、下記のように使うみたいです

python

1from webdrivermanager import ChromeDriverManager 2cdd = ChromeDriverManager() 3cdd.download_and_install()

上記を実行した際に「chromedriver.exe」がどこにあるのか表示されるので、その場所を

python

1browser = webdriver.Chrome('表示されてるパス')

としてみてください

あるいは、環境変数Pathに「chromedriver.exe」があるパスを追加したら、おそらく

python

1browser = webdriver.Chrome()

でも大丈夫だと思います

投稿2021/07/13 03:08

編集2021/07/13 03:13
jbpb0

総合スコア7653

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

roseai2

2021/07/13 04:07

「回答」にまとめて下さりありがとうございます。ベストアンサーボタン押せました。 jbpb0様には、大変お世話になりました。ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問