Selenium × Microsoft EdgeでNo matching capabilities foundエラー
PythonのSeleniumでMicrosoft Edgeを起動しようとしたら、以下のエラーになってしまい起動できず...
Traceback (most recent call last):
File "/Users/yuki/Desktop/app.py", line 56, in order
driver = driver_setup()
File "/Users/yuki/Desktop/app.py", line 24, in driver_setup
driver = webdriver.Edge(EdgeChromiumDriverManager().install())
File "/usr/local/lib/python3.9/site-packages/selenium/webdriver/edge/webdriver.py", line 61, in __init__
RemoteWebDriver.__init__(
File "/usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
self.start_session(capabilities, browser_profile)
File "/usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.9/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created: No matching capabilities found
対処方法をメモしておきます。
Python Selenium×EdgeでNo matching capabilities foundエラーの解決法
以下、BEFORE / AFTERを見比べてみてください。
BEFOREfrom selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager
driver = webdriver.Edge(EdgeChromiumDriverManager().install())
AFTERfrom selenium import webdriver
from webdriver_manager.microsoft import EdgeChromiumDriverManager
capabilities = {}
driver = webdriver.Edge(EdgeChromiumDriverManager().install(), capabilities=capabilities)
webdriver.Edge( )のcapabilitiesという引数に空の辞書を渡してあげただけです。
これで無事にEdgeを起動できるようになりました。
ちなみに:
上記コードは、Webdriverの更新を自動化するwebdriver_managerというライブラリを使用している場合の例です。
参考stack overflow: I got the error session not created: No matching capabilities found by Selenium Edge WebDriver