session not created: This version of ChromeDriver only supports Chrome version 108
久しぶりにselenium使ったらタイトルのエラーでました。
エラー内容で調べたところchromeとdriverのバージョンが一致していない時に発生するエラーのようです。
chromeの右上の設定ボタンからchromeは最新バージョンの110と確認。
ChromeDriver - WebDriver for Chrome - Downloads ここでバージョンに合わしたdriverをダウンロードインストールしても同様のエラーが出る状況。
コマンドラインで pip install chromedriver-binary==バージョン
のコマンドでバージョンを指定してインストールしても同じ。
ここでchatgptに聞いてみた( ^)o(^ )
以下回答
ChromeDriverのバージョンが反映されない場合、以下のような原因が考えられます。
-
Chromeブラウザのバージョンが古い:ChromeDriverは、使用しているChromeブラウザのバージョンと互換性がある必要があります。もしChromeブラウザのバージョンが古い場合、ChromeDriverが機能しない可能性があります。最新のChromeブラウザをインストールするか、互換性のあるバージョンのChromeDriverをダウンロードして使用してください。
-
ChromeDriverのパスが間違っている:ChromeDriverがインストールされている場所を正確に指定する必要があります。もしパスが間違っている場合、ChromeDriverは見つからず、エラーが発生する可能性があります。ChromeDriverのパスを確認し、正確なパスを指定してください。
-
環境変数の設定が間違っている:環境変数を設定している場合、設定が間違っている場合があります。環境変数を確認し、正確なパスを指定してください。
-
キャッシュが残っている:一度ChromeDriverを使用した後、キャッシュが残っている場合、古いバージョンが再利用される可能性があります。キャッシュを削除してから、ChromeDriverを再度実行してください。
原因は3の環境変数のパスとインストール先が一致していない事が原因でした( ^)o(^ )
あまりにも初歩的なミスでした ありがとうgptちゃんm(__)m
seleniumの変更点とchatgptの利用例
最近趣味でプログラミング始めてpython触ってます( ^)o(^ )
seleniumの利用が面白そうで今持ってる本でうまく動かなくて色々調べてみたらpythonのバージョンが変わって仕様が変わってるんですね~
chatgptに教えてもらいました!えらい!gptちゃん!( ^)o(^ )
以下内容です。
find_element メソッド
・このメソッドは指定された方法でwebページ内の最初の要素を取り出します
最新バージョンでは、find_element_by_*
メソッドの代わりに、find_element
関数を使用することが推奨されています。
具体的には、以下のように書き換えます。
変更前 driver.find_element_by_id("example")
変更後 driver.find_element(By.ID, "example")
By.ID
:id
属性に基づいて要素を検索します。By.CLASS_NAME
:class
属性に基づいて要素を検索します。By.NAME
:name
属性に基づいて要素を検索します。By.TAG_NAME
: タグ名に基づいて要素を検索します。By.LINK_TEXT
: リンクテキストに基づいて要素を検索します。By.PARTIAL_LINK_TEXT
: 部分的なリンクテキストに基づいて要素を検索します。By.CSS_SELECTOR
: CSSセレクタに基づいて要素を検索します。By.XPATH
: XPathに基づいて要素を検索します。
勉強になりますね~
また気づき等があれば呟いていきます( ^)o(^ )