🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Python

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

selenium

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

Q&A

解決済

1回答

2794閲覧

python webdriverが認識されない

cc000072

総合スコア28

バッチファイル

バッチファイル(Batch File)は、Windowsのコマンドラインインタープリターによって複数のコマンドを実行させる事が出来るスクリプトファイルです。

Python

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

selenium

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

0グッド

0クリップ

投稿2020/11/28 04:21

編集2020/11/28 04:44

pythonで困っていることがあり、ご教授頂きたいと思っております。

■したいこと
pyファイルをbatファイルから呼び出し、chromeからデータを自動ダウンロード実行できるようにしたいと考えています。

■実行環境

  1. Windows 10
  2. python 3.6
  3. Chrome 87.0.4280.66(Official Build) (64 ビット)

■詰まっているところ
pyファイルは、webページからデータをダウンロードするプログラムで下記のライブラリを使用しています。

  1. import time
  2. from selenium import webdriver
  3. from selenium.webdriver.common.keys import Keys
  4. import sys

しかしbatファイルを実行すると下記のエラーが出ます。
イメージ説明

エラーが出ている箇所はプログラム上の8行目(from selenium import webdriver)です
イメージ説明

事前にseleniumはインストールしています
イメージ説明

chromedriverはダウンロードしpathを通していますが認識をされていないようです。

■解決したいこと
chromedriverのpathが認識されるようになり、chromeからデータを自動でダウンロードできるようしたいと考えています。

お知恵を拝借できれば幸甚です

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

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

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

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

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

jbpb0

2020/11/28 05:05

batファイルからではなく、コマンドプロンプト上で直接 python 01_Get_FX_Rate.py と実行させた場合は、ちゃんと動くのでしょうか?
cc000072

2020/11/28 05:30 編集

ありがとうございます。コマンドプロンプト上で実行しても、同様のエラーが発生しています。。
jbpb0

2020/11/28 06:47

コマンドプロンプトで、 pip show selenium を実行すると、いろいろ表示されますが、その中の「Location:」の記載を記録してください 次に、コマンドプロンプトでpythonを起動し、 import sys import pprint pprint.pprint(sys.path) を実行すると、いろいろ表示されますが、その中に、pip show selenium実行時に記録したものは入ってますでしょうか? (円マーク「\」の並びが一つ・二つの違いや、アルファベットの大文字・小文字の違いは、気にしないでください)
cc000072

2020/11/28 07:06

ありがとうございます。 早速試したところ、pip show selenium実行時のlocationは入っていませんでした。 どうやら別のところに格納されているみたいです。 ------------------------------------------------------------------------------------------------------------ C:\Users\XXXXX>pip show selenium Name: selenium Version: 3.141.0 Summary: Python bindings for Selenium Home-page: https://github.com/SeleniumHQ/selenium/ Author: UNKNOWN Author-email: UNKNOWN License: Apache 2.0 Location: c:\users\XXXXX\appdata\local\packages\pythonsoftwarefoundation.python.3.7_qbz5n2kfra8p0\localcache\local-packages\python37\site-packages Requires: urllib3 Required-by: C:\Users\XXXXX>python Python 3.6.0 (v3.6.0:41df79263a11, Dec 23 2016, 07:18:10) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> import pprint >>> pprint.pprint(sys.path) ['', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\python36.zip', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\lib', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\win32', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\win32\\lib', 'C:\\Users\\XXXXX\\AppData\\Local\\Programs\\Python\\Python36-32\\lib\\site-packages\\Pythonwin'] ------------------------------------------------------------------------------------------------------------
jbpb0

2020/11/28 09:01 編集

pythonが2種類入っているのではないですかね?? コマンドプロンプトで、 where pip where python とやったら、それぞれ何が表示されますか? pathから推測すると、pipはMicrosoft Storeから入れたpythonので、pythonはpython公式から入れたやつではないかな??
cc000072

2020/11/29 02:43 編集

ありがとうございます! 3.6と3.7を入れていたのですが、3.7はアンインストールできたと思っていたのですが。。。 試したところ、下記のように表示されました。。 C:\Users\XXXXX>where pip C:\Users\XXXXX\AppData\Local\Microsoft\WindowsApps\pip.exe C:\Users\XXXXX>where python C:\Users\XXXXX\AppData\Local\Programs\Python\Python36-32\python.exe C:\Users\XXXXX\Anaconda3\python.exe C:\Users\XXXXX\AppData\Local\Microsoft\WindowsApps\python.exe もしかすると、pipのインストール先が3.7になっているけど、開発環境が3.6を向いているかもですね。。
jbpb0

2020/11/29 13:28

pythonが3種類入ってますね 上から順番に、python公式版、Anaconda版、Microsoft Store版だと思います なぜかpipはMicrosoft Store版しか無いようですが pipで入れたものはMicrosoft Store版のpythonではimportできるはずなので、「python」でそれが起動するように、環境変数pathの先頭に C:\Users\XXXXX\AppData\Local\Microsoft\WindowsApps を追加したら、おそらくseleniumをimportできないというエラーは出なくなると思います where python で、 C:\Users\XXXXX\AppData\Local\Microsoft\WindowsApps\python.exe が一番上に出てきたら、設定は合ってます
jbpb0

2020/11/30 11:38 編集

seleniumをimportできない問題が解決しても、chromedriverがpathに無い問題は別途解決しないといけないと思います chromedriverの絶対pathを、下記Webページのサンプルコードのように、pythonでwebdriver.Chromeの引数に指定したら、pathに含まれてなくても大丈夫みたいです https://qiita.com/tabizou/items/a604784237b3ab36860c (円マーク「¥」を二つ続けないといけないので、ご注意ください)
cc000072

2020/12/05 05:17 編集

ありがとうございます!ご教授頂いた内容で試したところ、batファイルのエラーが解決できchromeを起動できるようになりました!また、今回知らなかったことを知れたので非常に感謝しております!
jbpb0

2020/12/05 05:22

複数のpython処理系が入っている場合、今自分が使っているpythonやpipがどれのものなのかをちゃんと把握しながら使わないと、今回のようにハマります ご注意ください
guest

回答1

0

自己解決

ご回答頂いた方の方法を試したところ解決できました

投稿2020/12/10 14:19

cc000072

総合スコア28

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問