发生异常:无法通过Spring Bot中的Selenium Java使用Chrome驱动程序连接到localhost/0:0:0:0:0:0:0:1:1731

pkwftd7m  于 2022-12-16  发布在  Go
关注(0)|答案(2)|浏览(160)

我有基于 selenium 的网络应用程序开发使用Spring Boot 。服务器位于谷歌云服务器的虚拟机示例。
请在下面查找有关版本的详细信息。
Spring Boot -2.0.0.发布版本
selenium -3.9.1
Linux操作系统- Debian 4.9.130-2(2018年10月27日)x86_64 GNU/Linux操作系统
chrome 合金驱动程序- 2.35.528139(47个字符)
谷歌浏览器- 70.0.3538.110
JDK - 1.8.0_232版本
从过去几天,我面临着一个奇怪的问题,应用程序工作正常时,营业时间开始,但几个小时后,它变得不稳定,整个应用程序停止工作,甚至用户无法登录。在挖掘更多的这个问题后,我发现下面的错误,从服务器日志。我必须重新启动虚拟机示例,以修复它。


.
重新启动后,它正常工作了几个小时,然后我们再次面临同样的问题。
此外,我注意到,在发送电子邮件时,我们面临以下问题,在几分钟前工作正常。

我还验证了服务器资源的使用情况,但没有发现任何可疑的活动。我在谷歌上搜索了这个问题,但大多数解决方案都是针对第一次运行时遇到的问题提供的。然而,在我的情况下,它正常工作了几个小时,然后开始出现这个问题。
请帮助我了解这个问题的问题和根本原因。如果你能提出一个解决方案就更好了。
先谢了。

2eafrhcq

2eafrhcq1#

此错误消息...

java.net.ConnectException: Failed to connect to localhost/0:0:0:0:0:0:0:1:1731

...表示 ChromeDriver 无法启动/生成新的 * 浏览上下文 *,即 *Chrome浏览器 * 会话。
您的主要问题是所使用的二进制文件版本之间的不兼容性,如下所示:

  • 您正在使用 chromedriver=2.35
  • chromedriver=2.41的发行说明中明确提到了以下内容:

支持Chrome v62-64

  • 假设您使用的是 chrome=70.0
  • ChromeDriver v2.44的发行说明中明确提到了以下内容:

支持Chrome v69-71

  • 您的 *Selenium客户端 * 版本为 3.9.1,几乎比旧了2**年。

因此,Selenium客户端v3.9.1ChromeDriver v2.35Chrome浏览器v70.0 之间存在明显的不匹配
溶液
确保:

  • Selenium 升级到当前级别Version 3.141.59
  • ChromeDriver 已更新为当前的ChromeDriver v79.0.3945.36级别。
  • *Chrome浏览器 * 已更新为当前的 Chrome浏览器版本79.0 级别。(根据ChromeDriver v79.0 release notes
  • 通过您的 IDE**清理 * 您的 * 项目工作区 *,并仅使用必需的依赖项 * 重建 * 您的项目。
  • 如果您的基本 Web Client 版本太旧,请通过Revo Uninstaller将其卸载,然后安装最新的GA和发布版本的 Web Client
  • 非root用户身份执行@Test
igsr9ssn

igsr9ssn2#

在我的例子中,它是bcoz的chrome驱动程序示例在测试执行的中间被关闭。所以它不能让那个特定的chrome驱动程序来处理selenium命令。我不得不调整chrome示例化和关闭的逻辑,就像在我的例子中一样,打开了并行的3个chrome示例,这些示例在执行过程中被关闭,因此问题是找不到所需的特定chrome驱动程序示例。

相关问题