chromeのバージョンがどんどん変わるのが恐怖。
アップデートが嫌いだ。
いやほんと。ちょっと気を抜いたらすぐアップデートしやがる。
なんでもかんでも。
おかげさまで都度都度悪先苦闘する。
いやね、PythonってやつとSeleniumってやつで、こう、ウェブ上で検索かけまくって検索結果をいい感じに画像として保存する、的なツールを作ったんですよ、以前。そう、あれは台風吹き荒れる午後でしたね。
そんで出来上がったわけ。完璧な仕上がりなわけ。
そんで数カ月後にまた使ったらさ、なんかエラー吐くのよ。
Why?Whyなぜ?
そん時出たエラー文はもう忘れたんだけど、保存とか一々しないのが自分のよくないところなんだけど。
ほんでまぁ、エラーとか自分で解決せんですぐ調べちゃうタイプなんで調べるわけですよ。
で、元々こう書いてあったわけだけど、
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome("ドライバーのパス",options=options)
こう書き換えろってのがめっちゃ出てくるわけ。
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--headless')
driver = webdriver.Chrome(chrome_options=options)
一旦私は馬鹿なので chrome_options がただの変数名だってことに気づくのに時間が掛かって律儀にそこも chrome_options に書き換えて、
へぇ~ただのOptions()じゃだめなの?でも私のインポート文にはfrom selenium.webdriver.chrome.options import Optionsって書いてあるけどいいの?とか思って、
あとChromeDriverの場所とか示さなくていいの?急に?どゆこと?
とパニックになったわけですわ。
で結局動かないのね。こんな書き換えで動いたら苦労しないわと思いながら、その日はもう無理だったんで断念したわけですぅ。
そんで先日改めて直さなければといじってみたんだけど。
まず出てきたエラー文が
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 〷
あれ!?
前こんなエラーだったっけ?もうわけわかめ。ソースコード色々いじっているうちにわけわかめになっちゃたのかも。
でもよく考えたら前もこんなエラーだったかも。
いやだとしたらもっとスムーズに解決してるわ。とか言って焦って見逃してたのかもな!本当に前のエラー文どっかに保存してなかったの悔やまれぽんち。
要はこれ、ChromeDriverのバージョンはChromeがこのバージョンじゃなきゃ使えないっちゃよ!って言ってるわけでしょ。
はぁ~~~?
作って一年くらい放置していてのエラーならわかるけど(それでもいや)、たかだか3カ月くらいよ!?それでもうバージョン違いのエラー出るの???Chromeやばない?Chromeどんどこバージョン変わりすぎじゃない?
おいおい、じゃあ毎度毎度ChromeDriverアップグレードしていかないといけまへんなぁ。
そんで結局解決方法はChromeのバージョンに合ったDriverをダウンロードして元の位置に置き換えただけでした。超簡単!!
でもこれどうせ次使う時もまた新しくダウンロードしなきゃいけないんでしょ。はぁ~~~、進化が目覚ましいよぉ~。拙僧にはついていけましぇん!
とりあえず、一々AtomでのPython起動方法調べるの効率悪すぎなのでメモ。
Alt + R だ!!