Selenium & Edge & Python
Selenium で Edge を動かそうとして詰まりを解消したメモ
自社研修で Selenium で Edge を動かすための環境構築にちょっと苦労したのでメモを残す。
Edge のバージョンが 17 までと、18 以降で手順が違うぞ?!問題
- Microsoft の以下のページから、自身の Edge のバージョンとあった webdriver.exe を落とすように言われた…
developer.microsoft.com
('ω')
18はないでござる...
当然古いバージョンではエラーになってしまう...
調べてみたら、
WebDriverの改善 WebDriver を利用した Microsoft Edge での自動テストがより簡単になりました。
これまで WebDriver を使用して自動テストを行う場合、ダウンロード用の Web サイトに赴き、テストする Edge のバージョンに合わせて個別のパッケージを別途入手する必要がありましたが今回のアップデートにより Windows Feature on Demand(FOD)、つまり Windows 10 の [設定] - [アプリと機能] の中にある [オプション機能の管理]からインストールして使うことができるようになりました。しかも Windows Update により WebDriver のバイナリも自動的に更新されます。
Windows 10 October 2018 Update に搭載されたMicrosoft Edge(EdgeHTML 18)の新機能 – monoe's blog
とあったので、その通りに Microsoft Webdriver をインストールしてみました。
引っかかりポイント 2つ目
もともとは、以下のように webdriver.exe と同じディレクトリに python のファイルを置いて実行していたのですが、当然ファイルは無いのでエラーになります。古いファイルを実行しても、もちろんエラーになります。
#Edgeを操作 driver = webdriver.Edge(executable_path=".\\MicrosoftWebDriver.exe")
困ったなあ…と思ってたら、ぴんときました。
さっき落とした webdriver がこのPCのどこかにいるんじゃない?と。
調べてみたら、c:\windows\system32 の下にいました。 そこで、今度は
driver = webdriver.Edge(executable_path="C:\Windows\System32\MicrosoftWebDriver.exe")
こうしてみたら動くようになったのですが、先輩に確認したところ、そもそも環境変数が通っているところなら、executable_path はいらん!ということで、
driver = webdriver.Edge()
これで動くことが確認できました。ちゃんちゃん。