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

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

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

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

Python

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

Q&A

解決済

1回答

1837閲覧

pythonでChrome headlessを使用したプログラムで、バージョンが合っているはずなのにエラー

tontorocola

総合スコア14

Python 3.x

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

Python

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

0グッド

0クリップ

投稿2019/07/12 12:34

発生した問題

Pythonで、Chrome Headless を使用してseleniumでページに接続する簡単なプログラムをテストしています。
エラーが発生してしまいましたので、解決方法が分からず質問を投稿させていただきます。

実行したプログラム

from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument('--headless') driver = webdriver.Chrome(options=options) driver.get('https://www.google.com/') print(driver.title) search_box = driver.find_element_by_name("q") search_box.send_keys('ChromeDriver') search_box.submit() print(driver.title) driver.save_screenshot('search_results.png') driver.quit()

発生したエラー

session not created: This version of ChromeDriver only supports Chrome version 76

よくある、chromeのバージョンとChromeDriverのバージョンが違うよというエラーなのはわかるのですが、
私が使っているGoogle chromeのバージョンは「76.0.3809.62」で、
ダウンロードしてパスを通したChromeDriverは「76.0.3809.25」です。

質問内容

同じバージョンなのにどうしてエラーになってしまうのでしょうか?
解決方法をご教示いただけたら幸いです。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは。
すでに解決されてましたら、ご容赦くださいませ。

解決方法はちょっと思いつかないのですが、再現性があるとおそらくChromeDriverとかのissueが上がってくるのではないかと思います。
念の為ですが、想定している場所以外に、google-chromeやchromedriverが入っていて、PATHの関係でそちらを見ていないかどうかを確認してみてはいかがでしょうか?

  1. google-chrome --version でバージョン確認
  2. chromedriver -v でバージョン確認
  3. chromedriverを入れた方法を確認 -> pip install chromedriver-binary で入れていないかどうか(pipで入れるとPythonのパッケージのあるところに入る)
  4. which chromedriver および which googl-chrome で場所を確認

補足

https://www.chromestatus.com/features/schedule (Chromeのリリース状況)

Chromeのバージョン確認の例:
イメージ説明

投稿2019/07/13 03:00

編集2019/07/13 10:26
suama

総合スコア1997

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

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

tontorocola

2019/07/13 04:18 編集

回答ありがとうございます。 先にお詫びですが、OSはWindowsで開発しております、書いておらず申し訳ございません。 chromedriverに関してはおっしゃる通り`pip install chromedriver-binary`で入れておりますので、 環境変数のPATHもインストールされた先に意図的に通しております。 windowsですので、`where chromedriver`と入力したところ、 `C:\Users\<ユーザ名>\Anaconda3\Lib\site-packages\chromedriver_binary\chromedriver.exe` と出ましたので意図した通りですが、 `google-chrome --version`を実行してもコマンドを認識していないようです。 `where google-chrome`と実行すると、 「情報: 与えられたパターンのファイルが見つかりませんでした。」と表示されます。 `google-chrome`というコマンドは通常のGoogle Chromeをインストールして実行できると思えないので、私が何か勘違いをしているのだと思います。 google-chromeというのは、普段使っているGoogle Chromeとは別の何かなのでしょうか?
suama

2019/07/13 10:21 編集

コメントありがとうございます! ご利用の環境がよくわからなかったので、失礼しました。Windowsで、ChromeとPythonの環境なのですね。失礼しました。 であれば、"Google Chromeについて" のメニューから確認した際に、Chromeのバージョンは76.0.xxと表示されているということでしょうか。 (75.0.xxxxxではない、ということですね) また、chromedriver.exe -v の結果も、76.0xということですね?
tontorocola

2019/07/13 10:43

追加でご回答ありがとうございます。 suama様のおっしゃる通り、確認したところ76ではなく75でした。 chromeのbeta版のバージョンを見ており、誤った判断をしておりました。
suama

2019/07/13 11:18

ChromeはStableとBeta双方を入れてらっしゃるのでしたら、たぶんデフォルトで起動するのがどちらかで変わるかなと思います。 PythonのChromeDriverに合わせて76.xのChromeを使う場合は、Pythonスクリプトに、使いたいChromeのパスを指定すればよかったかもしれません。 (もうしばらくすればstableも76.xになるとは思いますが) このへんとかを参考に。 https://stackoverflow.com/questions/45500606/set-chrome-browser-binary-through-chromedriver-in-python
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問