WebDriverError:使用Selenium(JavaScript)打开第二个边缘窗口时出现未知错误

WebDriverError:使用Selenium(JavaScript)打开第二个边缘窗口时出现未知错误,javascript,selenium-webdriver,selenium-edgedriver,Javascript,Selenium Webdriver,Selenium Edgedriver,我正在使用selenium为Edge Browser创建自动化工具,在这里我需要用三个不同的URL并行地打开三个Edge窗口。 第一个边缘浏览器窗口成功启动,但在为第二个url调用函数openEdgeBrowser时,它抛出异常:WebDriverError:Unknown error const webdriver = require('selenium-webdriver'); const edgedriver = require('edgedriver'); const edge = re

我正在使用selenium为Edge Browser创建自动化工具,在这里我需要用三个不同的URL并行地打开三个Edge窗口。 第一个边缘浏览器窗口成功启动,但在为第二个url调用函数openEdgeBrowser时,它抛出异常:WebDriverError:Unknown error

const webdriver = require('selenium-webdriver');
const edgedriver = require('edgedriver');
const edge = require('selenium-webdriver/edge');


var openEdgeBrowser = async function(url){

    try {
        let edgeService = await new edge.ServiceBuilder(edgedriver.path);
        let browser = await new webdriver.Builder().forBrowser('MicrosoftEdge').setEdgeService(edgeService).build();
        await browser.get(url);
        console.log('Browser launched successfully with url: ' + url);
    } catch(e) {
        console.log.end(`Error in launching edge browser, Exception: ${e}`);
    }
};

我希望同时运行Edge的三个实例。

问题是Edge不支持多个实例:

嗨,这是一个已知的问题

我刚检查了反馈中心,我只 请参阅有关此问题的Microsoft内部帖子。你能把这个加进去吗 反馈中心?使用搜索栏打开反馈中心应用程序 (Win+s)并键入“反馈中心”

我所知道的唯一解决办法 将Selenium网格用于多个Windows客户端。客户 可以是Hyper-V实例

感谢您报告此问题并希望 我有一个更好的答案给你史蒂夫

同样的情况也出现在推特上


我找不到任何迹象表明这个bug已经被修复,所以我假设它仍然是未解决的。在版本41.16299.15.0中,它肯定仍然很出色,我在发行说明中找不到任何提到版本42中的修复程序的内容。

您能否向我们展示调用此函数的代码和更详细的堆栈跟踪?在我看来,函数末尾没有返回浏览器对象似乎很奇怪。@Ardesco,谢谢您查看它。在当前代码状态下,唯一的目标是打开多个Edge实例,因此为了保持代码简单,我不会返回browser实例。调用此函数的示例代码是
let testUrls=[”http://google.com", "http://yahoo.com", "http://facebook.com"];  对于(让测试url的url){openEdgeBrowser(url);}
如果使用chrome驱动程序而不是边缘驱动程序,会发生什么?我想知道Edge是否不喜欢多个进程……在Chrome上,它工作得非常完美。上面的代码用上面提到的url打开了三个chrome窗口。这个问题很紧张。我认为,应该有一些选项或功能可以解决这个问题,但无法解决。好的,您使用的是什么版本的Windows/Edge。旧版本的Edge不支持多个实例