当前位置: 首页 > 知识库问答 >
问题:

Selenium:用相同的配置文件打开两个不同的ChromeDriver实例

宋飞文
2023-03-14

我试图打开两个实例ChromeDriver具有相同的配置文件如下:

ChromeDriverService service1 = ChromeDriverService.CreateDefaultService();
ChromeOptions options1 = new ChromeOptions();
options1.AddArguments($"user-data-dir=C:/Users/{Environment.UserName}/AppData/Local/Google/Chrome/User Data/Default");
service1.HideCommandPromptWindow = true;
ChromeDriver driver1 = new ChromeDriver(service1, options1);
driver1.Navigate().GoToUrl("https://www.google.com");

ChromeDriverService service2 = ChromeDriverService.CreateDefaultService();
ChromeOptions options2 = new ChromeOptions();
options2.AddArguments($"user-data-dir=C:/Users/{Environment.UserName}/AppData/Local/Google/Chrome/User Data/Default");
service2.HideCommandPromptWindow = true;
ChromeDriver driver2 = new ChromeDriver(service2, options2);
driver2.Navigate().GoToUrl("https://www.google.com");

问题是第一个驱动程序工作并导航到Google,但在第二个驱动程序中,我在实例化第二个驱动程序时遇到以下异常:

附加信息:抛出了一个带有空响应的异常,该异常向远程WebDriver服务器发送HTTP请求以获取URLhttp://localhost:6949/session.异常的状态为ReceiveFailure,消息为:基础连接已关闭:一个意外错误发生在接收。

我还从不同的二进制文件中执行了每个驱动程序,但是第二个驱动程序遇到了相同的问题。

问题是由用户配置文件(Chrome选项)引起的,通过删除配置文件,一切正常。

但是,对我来说,使用相同的配置文件是强制性的。

任何指导都会有所帮助。

谢谢

共有1个答案

阳建弼
2023-03-14

这可能是因为您使用单个文件进行分析。

我找到了一篇文章,你可以找到复制个人资料的步骤。按照说明,并通过配置文件的副本在第二个实例的网络驱动程序。

文章链接:-

https://support.4it.com.au/article/copy-google-chrome-profile-new-user-profile-windows/

希望它能帮助你:)

 类似资料:
  • 问题内容: 我正在尝试同时打开多个浏览器,但无法在多个窗口中浏览到该网站。 这是我的方法: 这样称呼它: 不幸的是,在打开第二个窗口后-显示超时错误: WebDriver.dll中发生类型’OpenQA.Selenium.WebDriverException’的第一次机会异常 附加信息:60秒后,对URL http:/ loca1host:50148 / session的远程WebDriver服务

  • 我有两个文件命名为文章和类别。我使用SEO URL结构生成了一个URL格式。样品: 实例com/文章标题 实例com/类别标题 代码: 但有一个问题。我不能同时使用两种url格式。htaccess文件。他看到第一行,但忽略了另一行。但是我想对这两个文件使用相同的格式。你能帮忙吗?

  • 问题内容: 当他们都使用上下文管理器时,我很难弄清楚如何模拟类中的两个文件打开。我知道如何使用模拟模块对一个上下文管理的文件执行以下操作: 我的问题是当一个类在同一调用中打开两个不同的文件时如何执行此操作。就我而言,该类将文件预加载到两个映射中。此类在其他类别中使用。我想模拟这两个文件的加载以提供我的测试数据,以便可以对我使用预加载的测试文件内容来测试使用IfAddrConfig对象的其他类。 这

  • 我有两个类,它们具有相同的类名并使用相同的包名。但是,这两个类文件位于不同的目录中。这两个类之间的另一个不同之处是,每个类中都有其他类中没有的方法。本质上,我想将这些方法拆分为两个使用相同名称但不同文件夹的单独文件。 理论上,我认为这是可能的,因为Java编译器在构建输出时确实维护了目录结构。所以在运行时,如果在类中调用了一个方法,Java可能会在任何一个文件中找到该方法。 这可能吗?我使用的是I

  • 问题内容: 我正在使用不同的Maven配置文件将我的应用程序部署到不同的环境。(使用weblogic-maven-plugin,但是我认为这并不重要) 在应用程序中,我使用Spring Web Services。现在,我想根据环境更改端点。(端点在Spring的applicationContext.xml中定义) 我的想法是从属性文件中读取值。该属性文件将在Mavens软件包阶段写入(或复制)。