独学Python備忘録8(WebDriverは不要だった!?)
業務の自動化で、唯一何とかならないかなーと悩ませる原因が、WebDriverでした。毎日30個ほどのコードを夜中のサーバの更新後に実行するようにしていて、出勤後に念のためファイル更新ができているか確認するのですが、この時に失敗している事があります。
その原因となるのは、ほぼWebDriverで、これはEdgeのバージョンが自動更新されていてダウンロードしているWebDriverとバージョンが合わず(独学Python備忘録3参照)実行時にエラーとなります。そのため、せっかく自動化しているのに、朝からWebDriverをダウンロードし、手動で自動化プログラムを実行するということがままありました。なんとかならないかなーこれ。。。と思って半年。
自宅で寝る前に、ふと「WebDriver 自動更新 Edge」と検索すると。。。「Seleniumバージョン4.6以上ならこれ↓だけでOK。」
from selenium import webdriver
driver = webdriver.Edge()
え!?あるんですか!!!
独学かつプログラムはChatGPTでコードを作っているので、検索などせずに過ごしてきましたが。。。
さっそく、Seleniumバージョンを確認し、コードを書き換え、念のためWebDriverの名前を変更して実行すると、初回は少し時間がかかりましたが、2回目からは「逆に速い?」というスピード感でプログラムが実行されました。
ちなみにそれまでは、
from selenium import webdriver
from selenium.webdriver.edge.service import Service
service = Service(executable_path=r'D:\UserArea\●●●(フォルダ名)\Documents\python\msedgedriver.exe')
driver = webdriver.Edge(service=service)
と、WebDriverの場所を指定して実行。。。というコードでした。
次回Egdeのバージョンが上がっても実行されるか確認は必要ですが、WebDriverをダウンロードしなくでも(フォルダ内にない状態)でコードが正しく実行されましたので大丈夫だと思います。これで更に自動化の安定が進むことになりそうです!(祝!)
今回参考にさせていただいたHPは
本当にありがとうございました!