Javascript 异步运行selenium webdriver的多个实例(firefox)

Javascript 异步运行selenium webdriver的多个实例(firefox),javascript,node.js,selenium,selenium-webdriver,Javascript,Node.js,Selenium,Selenium Webdriver,如何使我的webdriver同时请求多个页面(或打开多个浏览器) 我在internet上找到的所有解决方案都会等待上一个会话完成加载,然后才打开浏览器的新实例 我尝试过SeleniumWebDriver、WebDriverJ和wdjs,但它们似乎都不能异步地对不同的页面执行多个http请求。即使是这样的解决方案也行不通。他们一次只开一家 我错过什么了吗 PS:我不想同时运行多个浏览器!我想运行同一浏览器的多个实例。类似于: WebDriver driver1 = new FirefoxDrive

如何使我的webdriver同时请求多个页面(或打开多个浏览器)

我在internet上找到的所有解决方案都会等待上一个会话完成加载,然后才打开浏览器的新实例

我尝试过SeleniumWebDriver、WebDriverJ和wdjs,但它们似乎都不能异步地对不同的页面执行多个http请求。即使是这样的解决方案也行不通。他们一次只开一家

我错过什么了吗

PS:我不想同时运行多个浏览器!我想运行同一浏览器的多个实例。

类似于:

WebDriver driver1 = new FirefoxDriver();
WebDriver driver2 = new FirefoxDriver();
WebDriver driver3 = new FirefoxDriver();
driver1.get("page1");
driver2.get("page2");
driver3.get("page3");

如果您需要真正的异步,那么您需要进入Java线程。。。这将使这成为一个较长的讨论和话题以外的SO。

利用线程。我看到您已经标记了node.js…我不太熟悉,但下面是一个c#示例,它可以工作…类似的理论应该适用。 c#


不过要小心,因为webdriver有时可能会混淆和重叠窗口。我发现在一台机器上一次执行5次以上操作会导致各种各样的问题。如果您在c中使用
并行。调用
,您可以限制此操作,一次只允许某个数字…尽管网格是最好的方法,因为您在配置中设置了限制,然后它会为您进行负载平衡。

您知道实例之间是否会共享cookie吗?我需要将它们隔离并拥有自己的cookie jar
将创建一个新的Firefox实例,它有自己的单独配置文件。。。和单独的饼干店。好吧,我刚刚测试过,你说得对;)感谢您的反馈。Chrome和IE驱动程序是否支持类似的独立实例?我想这意味着每个浏览器实例将有一个单独的会话,对吗?我想我对webdrivers有点误解了。是的,它们似乎一次只打开一个,但一旦它们打开,我就可以独立管理它们。
    Parallel.Invoke(
        ()=> { 1st test execution call },
        ()=> { 2nd test execution call },
        ()=> { 3rd test execution call }
    );