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

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

詳細はこちら
Python

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

selenium

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

Q&A

解決済

2回答

1745閲覧

chromedriverが自動更新されプログラムが実行されない

pikachu1

総合スコア9

Python

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

selenium

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

0グッド

0クリップ

投稿2021/03/15 06:45

前提・実現したいこと

python初心者です。3か月ほど前からseleniumを使用してウェブスクレイピングを
行うプログラムを週に1度ほど回しておりました。
ただ、今週実行してみたところ、chromedriverのバージョンが更新されていたらしく
現在のコードではchromeを動かせない状態になっておりました。
エラーで表示されているバージョンのchromedriverを再インストールして、カレントディレクトリの直下においてみたのですが、やはり動きません。

発生している問題・エラーメッセージ

--------------------------------------------------------------------------- SessionNotCreatedException Traceback (most recent call last) <ipython-input-5-4597d03314c7> in <module> 11 'safebrowsing.enabled': True 12 }) ---> 13 browser = webdriver.Chrome(options=options) 14 browser.implicitly_wait(3) ~\Anaconda3\lib\site-packages\selenium\webdriver\chrome\webdriver.py in __init__(self, executable_path, port, options, service_args, desired_capabilities, service_log_path, chrome_options, keep_alive) 74 75 try: ---> 76 RemoteWebDriver.__init__( 77 self, 78 command_executor=ChromeRemoteConnection( ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in __init__(self, command_executor, desired_capabilities, browser_profile, proxy, keep_alive, file_detector, options) 155 warnings.warn("Please use FirefoxOptions to set browser profile", 156 DeprecationWarning, stacklevel=2) --> 157 self.start_session(capabilities, browser_profile) 158 self._switch_to = SwitchTo(self) 159 self._mobile = Mobile(self) ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in start_session(self, capabilities, browser_profile) 250 parameters = {"capabilities": w3c_caps, 251 "desiredCapabilities": capabilities} --> 252 response = self.execute(Command.NEW_SESSION, parameters) 253 if 'sessionId' not in response: 254 response = response['value'] ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\webdriver.py in execute(self, driver_command, params) 319 response = self.command_executor.execute(driver_command, params) 320 if response: --> 321 self.error_handler.check_response(response) 322 response['value'] = self._unwrap_value( 323 response.get('value', None)) ~\Anaconda3\lib\site-packages\selenium\webdriver\remote\errorhandler.py in check_response(self, response) 240 alert_text = value['alert'].get('text') 241 raise exception_class(message, screen, stacktrace, alert_text) --> 242 raise exception_class(message, screen, stacktrace) 243 244 def _value_or_default(self, obj, key, default): SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 87 Current browser version is 89.0.4389.90 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe

該当のソースコード

from selenium import webdriver from selenium.webdriver.common.alert import Alert import time import pandas as pd from selenium.webdriver.common.keys import Keys import os import glob chrome_user_data_dir_path = 'C:\Users\ユーザー名\AppData\Local\Google\Chrome\User Data\Default' chrome_user_profile_directory = 'Default' options = webdriver.ChromeOptions() options.add_argument('--user-data-dir=' + chrome_user_data_dir_path) # options.add_argument('--profile-directory=' + chrome_user_profile_directory) options.add_experimental_option('prefs', { 'download.default_directory': r'C:\Users\ダウンロード先', 'download.prompt_for_download': False, 'download.directory_upgrade': True, 'safebrowsing.enabled': True }) browser = webdriver.Chrome(options=options) browser.implicitly_wait(3)

試したこと

chromedriverについては最新のものをダウンロードいたしました。

補足情報(FW/ツールのバージョンなど)

ユーザープロファイルを使用していることも原因にあるのかもしれませんが対処法が分かりません
もし原因がわかれば、今後の対策についても少し教えていただけると非常にありがたいです

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

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

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

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

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

guest

回答2

0

ベストアンサー

This version of ChromeDriver only supports Chrome version 87

今入ってるChromeDriverと組み合わせて使える(Webブラウザの)Chromeはバージョン87

Current browser version is 89.0.4389.90

今入ってる(Webブラウザの)Chromeはバージョン89

バージョンを合わせないとダメです
Chromeに合わせるなら、ChromeDriverも89対応版にします

投稿2021/03/15 08:19

jbpb0

総合スコア7653

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

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

pikachu1

2021/03/15 08:29

ご回答ありがとうございます! 上記についてですがブラウザに合わせていく方向で考えております。 version89のchromedriverをダウンロードし、Defalutフォルダにおいてみたのですが やはり、コードが実行されません。 ダウンロードしたchrome driverの置き場所が間違っているのでしょうか? それともコードで指定などをいじる必要がありますでしょうか? お分かりになれば教えていただきたいです!
jbpb0

2021/03/15 08:47

その時のエラーメッセージは何ですか? > This version of ChromeDriver only supports Chrome version 87 のまま変わらないなら、ダウンロードした89対応版が使われてません
pikachu1

2021/03/15 09:29

おっしゃるとおりエラーメッセージは変わらないのですが 指定しているディレクトリにはダウンロードした89 versionのchromedriverしか入れておりません。 起動できない原因がわからず困っております。 ユーザープロファイルを変える必要等はございますでしょうか??
jbpb0

2021/03/15 09:48

chromedriverはPathから探されます コマンドプロンプトで where chromedriver を実行したら、89対応版が一番上に表示されますか? 上記を実行しても何も見つからない場合は、seleniumが見つけられる場所が(Pathとは別に)あって、そこに87対応版が置かれてるのでしょう 下記の回答も見てください chromedriverの場所をPythonコード内で指定するやり方が書かれてます https://teratail.com/questions/223614
pikachu1

2021/03/15 23:49

ご回答ありがとうございます! おっしゃる通りDefaultとは別の場所にchromedriverが おかれておりました! こちらを89の物に差し替えることでコードも実行できました! ありがとうございます!! 今後、このような、自動のバージョンアップに対応する方法等 ありますでしょうか??
pikachu1

2021/03/17 00:03

↑確認させていただきます! 注意点も教えていただきありがとうございました。 非常に助かりました!
guest

0

This version of ChromeDriver only supports Chrome version 87 Current browser version is 89.0.4389.90 with binary path

最新版ではなくchromeのバージョンに合わせてダウンロードして下さい。
この場合はバージョン87をインストールして下さい。

投稿2021/03/15 06:55

stdio

総合スコア3307

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

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

pikachu1

2021/03/15 07:39

ご回答ありがとうございます。 version 87のものをインストールし、Defaultにおいてみましたがやはり同じようなエラーが出ます。。。 ユーザープロファイルなどに問題があるってことは考えられないですかね?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問