MSEdgeDriver - 未创建会话:在 Python 的 Selenium 上找不到匹配的功能错误

MSEdgeDriver - session not created: No matching capabilities found error on Selenium with Python

在 Microsoft Edge 上将我们的自动化设置为 运行 时遇到一些问题。安装了正确的浏览器版本驱动程序并尝试了其他一些 'fixes' 无济于事。这是在 PyCharm.

上使用带有 Python3 的 Selenium

回到开头,这是我的代码...

from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.edge.options import Options
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.common.keys import Keys

options = Options()
driver = webdriver.Edge(executable_path='/Users/james.stott/PycharmProjects/venv/Selenium/Remote/msedgedriver')

以下是引发的错误...

selenium.common.exceptions.SessionNotCreatedException:消息:未创建会话:未找到匹配的功能

如有任何帮助,我们将不胜感激。

我猜你正在使用 Edge Chromium,你可以参考以下步骤使用 Selenium python 代码自动化 Edge 浏览器:

  1. link 下载并安装 Python。

  2. 管理员的身份启动命令提示符。

  3. 运行 下面的命令安装 Edge Selenium 工具。

    pip install msedge-selenium-tools selenium==3.141
    
  4. link 安装正确版本的 Edge Web 驱动程序。 (WebDriver版本需与Edge浏览器版本一致)

  5. 使用下面的代码创建一个 Python 文件并根据您自己的要求进行修改。

    from msedge.selenium_tools import Edge, EdgeOptions
    
    options = EdgeOptions()
    options.use_chromium = True
    options.binary_location = r"C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe"
    driver = Edge(executable_path = r"D:\selenium web drivers\edge driver\msedgedriver.exe", options = options) # Modify the path here...
    driver.get("https://example.com")
    

更新:

如果您使用 Mac OS,则需要发送功能。您可以尝试发送一个空的能力:

desired_cap={}

driver = webdriver.Edge(executable_path='/Users/james.stott/PycharmProjects/venv/Selenium/Remote/msedgedriver', capabilities=desired_cap)