SeleniumとEdgeDriverを使ってMicrosoft Edgeのダウンロードフォルダを指定する(with Python)


はじめに

Pythonとseleniumを使ってMicrosoft Edgeのダウンロードフォルダを指定する
https://developer.microsoft.com/ja-jp/microsoft-edge/tools/webdriver/

準備

pip install selenium
pip install msedge-selenium-tools

※ただし、msedge-selenium-toolsは非推奨?になっているっぽいが、よくわからないので妥協してmsedge-selenium-toolsを使う、
※selenium4に統合されたのでそっちを使えとのこと。
※日本語翻訳は機械翻訳がひどすぎるので英語版を推奨

https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/?tabs=python
https://docs.microsoft.com/en-us/microsoft-edge/webdriver-chromium/capabilities-edge-options

実装

#%%
from msedge.selenium_tools import Edge, EdgeOptions
options = EdgeOptions()
options.use_chromium = True
options.add_experimental_option("prefs", {
  "download.default_directory": path_downloads
})
driver = Edge(executable_path=path_edgedriver, options=options)

おまけ

subprocessでEdgeのバージョンを取得する。
powershellに渡すコマンドの中に、"も、'も、どちらも使われているので、"""で囲むことにした。

#%%
t="""powershell -Command "(get-item 'c:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe').VersionInfo.FileVersion"""
import subprocess
s=subprocess.run(t,shell=True,capture_output=True)
print(str(s.stdout).split(".")[0][2:])