How to use Edge Chromium webdriver "unknown error: cannot find MSEdge binary"
How to use Edge Chromium webdriver "unknown error: cannot find MSEdge binary"
我正在尝试将 Edge Chromium 版本的 WebDriver 与 PostMan 一起使用,但无法正常工作。
WebDriver 下载:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
文档:https://docs.microsoft.com/en-us/microsoft-edge/webdriver
我尝试在系统PATH环境变量中添加Edge Chromium和Webdriver,没有区别。我认为 java 中的 selenium 实现与 Edge Chromium Webdriver
一起工作
msedgedriver.exe --port 9515
POST localhost:9515/会话
{
"capabilities":{
"firstMatch":[
{
}
],
"alwaysMatch":{
"browserName":"MicrosoftEdge",
"platformName":"windows",
"goog:chromeOptions":{
"extensions":[
],
"args":[
]
}
}
},
"desiredCapabilities":{
"browserName":"MicrosoftEdge",
"version":"",
"platform":"WINDOWS",
"goog:chromeOptions":{
"extensions":[
],
"args":[
]
}
}
}
{
"value": {
"error": "unknown error",
"message": "unknown error: cannot find MSEdge binary",
"stacktrace":
"Backtrace:\n\tOrdinal0 [0x00007FF6678D7C52+1932370]\n\tOrdinal0
[0x00007FF66783CDA2+1297826]\n\tOrdinal0
[0x00007FF6677A0A51+658001]\n\tOrdinal0 [0x00007FF667710F1F+69407]\n\tOrdinal0
[0x00007FF66770EF02+61186]\n\tOrdinal0 [0x00007FF667737DBD+228797]\n\tOrdinal0
[0x00007FF6677351AF+217519]\n\tOrdinal0 [0x00007FF66771706F+94319]\n\tOrdinal0
[0x00007FF66771822E+98862]\n\tOrdinal0
[0x00007FF66785B531+1422641]\n\tGetHandleVerifier
[0x00007FF6679991E9+656297]\n\tGetHandleVerifier
[0x00007FF667998F81+655681]\n\tGetHandleVerifier
[0x00007FF6679A104C+688652]\n\tGetHandleVerifier
[0x00007FF6679999C3+658307]\n\tOrdinal0
[0x00007FF66785177E+1382270]\n\tOrdinal0
[0x00007FF66785D9D6+1432022]\n\tOrdinal0
[0x00007FF66785C84D+1427533]\n\tBaseThreadInitThunk
[0x00007FF909056FD4+20]\n\tRtlUserThreadStart [0x00007FF90AB5B1F1+33]\n"
}
}
WebDriver 应该打开并能够执行其他命令
我建议您参考以下步骤可能有助于解决问题。
(1) 首先尝试为您的 Edge (chromium) 应用程序设置环境变量。
(2) 尝试打开 PowerShell window 并尝试启动 Edge Web 驱动程序。
(3) 启动 Postman 应用程序并尝试使用 http://localhost:9515/session 作为 POST 请求。
(4) 添加下面的代码作为请求的主体。
{
"desiredCapabilities": {
"nativeEvents": false,
"browserName": "edg",
"version": "",
"platform": "ANY",
"javascriptEnabled": true,
"takesScreenshot": true,
"handlesAlerts": true,
"databaseEnabled": true,
"locationContextEnabled": true,
"applicationCacheEnabled": false,
"browserConnectionEnabled": true,
"cssSelectorsEnabled": true,
"webStorageEnabled": true,
"rotatable": true
}
}
(5) 尝试发送请求。
参考:
备注:
您的环境变量应该正确设置并引用到您的
边缘(铬)正确。
在您的 Edge 中使用受支持版本的 Edge Web 驱动程序
(chromium) 浏览器。
这真的应该是一个评论而不是一个完整的答案(可笑的信誉系统 tbh);无论如何,要添加到 Deepak-MSFT 的答案 - 添加环境变量后一定要重新启动你的 IDE.
我将 MSEdge
目录添加到 PATH
,Eclipse 仍然会报错。在我关闭并重新打开 Eclipse 后一切正常。
还要检查您是否指向 MSEdge.exe
或 MSEdge.exe
所在的目录。我注意到它只有在您指向目录而不是 .exe
时才有效。
所以它会是这样的:C:\Program Files (x86)\Microsoft\Edge Dev\Application\
我确实遇到了同样的问题,相信我,我尝试了所有可能的事情,但你知道是什么帮助了我,虽然这对你来说可能听起来很蹩脚,Edge 浏览器版本很旧,当我更新它时,它对我有用,错误已解决,也请试一试
与 Chrome 浏览器不同,它不会抛出浏览器驱动程序版本和浏览器不兼容的错误。
您真诚的,
沮丧的自动化测试人员
我正在尝试将 Edge Chromium 版本的 WebDriver 与 PostMan 一起使用,但无法正常工作。
WebDriver 下载:https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ 文档:https://docs.microsoft.com/en-us/microsoft-edge/webdriver
我尝试在系统PATH环境变量中添加Edge Chromium和Webdriver,没有区别。我认为 java 中的 selenium 实现与 Edge Chromium Webdriver
一起工作msedgedriver.exe --port 9515
POST localhost:9515/会话
{
"capabilities":{
"firstMatch":[
{
}
],
"alwaysMatch":{
"browserName":"MicrosoftEdge",
"platformName":"windows",
"goog:chromeOptions":{
"extensions":[
],
"args":[
]
}
}
},
"desiredCapabilities":{
"browserName":"MicrosoftEdge",
"version":"",
"platform":"WINDOWS",
"goog:chromeOptions":{
"extensions":[
],
"args":[
]
}
}
}
{
"value": {
"error": "unknown error",
"message": "unknown error: cannot find MSEdge binary",
"stacktrace":
"Backtrace:\n\tOrdinal0 [0x00007FF6678D7C52+1932370]\n\tOrdinal0
[0x00007FF66783CDA2+1297826]\n\tOrdinal0
[0x00007FF6677A0A51+658001]\n\tOrdinal0 [0x00007FF667710F1F+69407]\n\tOrdinal0
[0x00007FF66770EF02+61186]\n\tOrdinal0 [0x00007FF667737DBD+228797]\n\tOrdinal0
[0x00007FF6677351AF+217519]\n\tOrdinal0 [0x00007FF66771706F+94319]\n\tOrdinal0
[0x00007FF66771822E+98862]\n\tOrdinal0
[0x00007FF66785B531+1422641]\n\tGetHandleVerifier
[0x00007FF6679991E9+656297]\n\tGetHandleVerifier
[0x00007FF667998F81+655681]\n\tGetHandleVerifier
[0x00007FF6679A104C+688652]\n\tGetHandleVerifier
[0x00007FF6679999C3+658307]\n\tOrdinal0
[0x00007FF66785177E+1382270]\n\tOrdinal0
[0x00007FF66785D9D6+1432022]\n\tOrdinal0
[0x00007FF66785C84D+1427533]\n\tBaseThreadInitThunk
[0x00007FF909056FD4+20]\n\tRtlUserThreadStart [0x00007FF90AB5B1F1+33]\n"
}
}
WebDriver 应该打开并能够执行其他命令
我建议您参考以下步骤可能有助于解决问题。
(1) 首先尝试为您的 Edge (chromium) 应用程序设置环境变量。
(2) 尝试打开 PowerShell window 并尝试启动 Edge Web 驱动程序。
(3) 启动 Postman 应用程序并尝试使用 http://localhost:9515/session 作为 POST 请求。
(4) 添加下面的代码作为请求的主体。
{
"desiredCapabilities": {
"nativeEvents": false,
"browserName": "edg",
"version": "",
"platform": "ANY",
"javascriptEnabled": true,
"takesScreenshot": true,
"handlesAlerts": true,
"databaseEnabled": true,
"locationContextEnabled": true,
"applicationCacheEnabled": false,
"browserConnectionEnabled": true,
"cssSelectorsEnabled": true,
"webStorageEnabled": true,
"rotatable": true
}
}
(5) 尝试发送请求。
参考:
备注:
您的环境变量应该正确设置并引用到您的 边缘(铬)正确。
在您的 Edge 中使用受支持版本的 Edge Web 驱动程序 (chromium) 浏览器。
这真的应该是一个评论而不是一个完整的答案(可笑的信誉系统 tbh);无论如何,要添加到 Deepak-MSFT 的答案 - 添加环境变量后一定要重新启动你的 IDE.
我将 MSEdge
目录添加到 PATH
,Eclipse 仍然会报错。在我关闭并重新打开 Eclipse 后一切正常。
还要检查您是否指向 MSEdge.exe
或 MSEdge.exe
所在的目录。我注意到它只有在您指向目录而不是 .exe
时才有效。
所以它会是这样的:C:\Program Files (x86)\Microsoft\Edge Dev\Application\
我确实遇到了同样的问题,相信我,我尝试了所有可能的事情,但你知道是什么帮助了我,虽然这对你来说可能听起来很蹩脚,Edge 浏览器版本很旧,当我更新它时,它对我有用,错误已解决,也请试一试
与 Chrome 浏览器不同,它不会抛出浏览器驱动程序版本和浏览器不兼容的错误。
您真诚的, 沮丧的自动化测试人员