问题描述
让我们的自动化在 Microsoft Edge 上运行时遇到一些问题。安装了正确的浏览器版本驱动程序,并尝试了其他一些“修复”但无济于事。这是在 PyCharm 上使用 Selenium 和 python3。
回到开头,这是我的代码...
SftpClient.SynchronizeDirectories
以下是引发的错误...
selenium.common.exceptions.SessionNotCreatedException:消息:会话未创建:未找到匹配的功能
任何帮助,将不胜感激。
解决方法
我猜你正在使用 Edge Chromium,你可以参考以下步骤使用 Selenium python 代码自动化 Edge 浏览器:
-
从此 link 下载并安装 Python。
-
以管理员身份启动命令提示符。
-
运行以下命令以安装 Edge Selenium 工具。
pip install msedge-selenium-tools selenium==3.141
-
从此 link 安装正确版本的 Edge 网络驱动程序。 (WebDriver版本应与Edge浏览器版本一致)
-
使用下面的代码创建一个 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)