当前位置: 首页 > 面试题库 >

Selenium Chromedriver服务器超时,尽管可用

贺景胜
2023-03-14
问题内容

我有一个Java Selenium项目,该项目不会在我的计算机上运行,​​但会在具有相同OS版本(OSX
10.13.1),Chrome浏览器版本(63.0.3239.84)和chromedriver版本(2.34)的同事的计算机上运行。我收到消息:

Starting ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e) on port 18633
Only local connections are allowed.

org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T18:33:54.468Z'
System info: host: 'localhost', ip: 'fe80:0:0:0:1cc9:e0ab:f4e5:dd34%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.13.1', java.version: '1.8.0_20'
Driver info: driver.version: ChromeDriver
...
Caused by: org.openqa.selenium.net.UrlChecker$TimeoutException: Timed out waiting for [http://localhost:18633/status] to be available after 20005 ms
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:100)
    at org.openqa.selenium.remote.service.DriverService.waitUntilAvailable(DriverService.java:187)
    ... 28 more
Caused by: java.util.concurrent.TimeoutException
    at java.util.concurrent.FutureTask.get(FutureTask.java:205)
    at com.google.common.util.concurrent.SimpleTimeLimiter.callWithTimeout(SimpleTimeLimiter.java:149)
    at org.openqa.selenium.net.UrlChecker.waitUntilAvailable(UrlChecker.java:75)
    ... 29 more

但是,当我在浏览器中打开http:// localhost:18633 /
status时
,我得到一个有效的响应:

{"sessionId":"","status":0,"value":{"build":{"version":"alpha"},"os":{"arch":"x86_64","name":"Mac OS X","version":"10.13.1"}}}

我试过换出chromedriver二进制文件,但我不确定自己还能做什么。我在geckodriver上遇到了类似的问题,但可能不是相同的问题。我也尝试过在系统上创建一个新用户,并使用该帐户运行该用户,以适应用户设置-
祝您好运。

我在这里想念什么?什么信息将有助于调试此问题?


问题答案:

错误说明了一切:

org.openqa.selenium.WebDriverException: Timed out waiting for driver server to start.

清楚表明WebDriver实例未启动。因此, 驱动程序信息 保留为 空白

Driver info: driver.version: ChromeDriver

哪个会产生错误:

org.openqa.selenium.net.UrlChecker$TimeoutException

java.util.concurrent.TimeoutException

很难在没有代码块可见性的情况下猜测实际原因,但是通常我们可以通过以下方式解决此问题:从此存储库下载ChromeDriver二进制文件,并在初始化 WebDriver 实例时传递 ChromeDriver
的绝对路径,如下所示:

System.setProperty("webdriver.chrome.driver", "/path/to/chromedriver");
driver = new ChromeDriver();

关键点 :

  • 始终使用 最新 版本的 Selenium ClientChromeDriver 二进制文件。
  • 始终保持 启用* 浏览器的 自动更新*
  • 始终保持 JDK 版本更新(当前版本为 html" target="_blank">JDK 8u241


 类似资料:
  • 问题内容: 我正在尝试用golang写一个Web服务器来处理地理编码请求。其中一些请求需要花费一分钟以上的时间来处理。在这种情况下,尽管处理程序一直在运行,但是服务器似乎正在向客户端返回一个空的主体。我尝试了下面的代码无济于事。我想念什么吗?pat这可能是个问题吗? 客户是红宝石。但我不认为这是问题所在,因为如果使用curl,我会看到类似的行为。 问题答案: 找到了问题。我没有提到我的服务器在Am

  • 我正在用C++开发双向流gRPC。我想在服务器端设置一个超时限制,如果连接超过一个阈值,就关闭连接。 但是我发现的唯一超时机制是在客户端(https://grpc.io/blog/deadlines/#c)。我找不到任何API可以用于ServerContext(https://grpc.github.io/grpc/cpp/classgrpc_1_1_server_context.html)。有人

  • 我已经安装了selenium IDE和selenium server(selenium RC)。。。当使用phpunit在命令提示符下运行测试用例时,会出现如下错误 访问位于“”的Selenium服务器时,响应无效http://localhost:4444/selenium-服务器/驱动程序/':30000ms后超时 我在selenium IDE选项超时属性中进行了更改,并且在启动服务器时 jav

  • 我正在使用以下代码从带有EWS API集(Microsoft.Exchange.WebServices 2.2.0)的Office 365帐户获取日历约会: Microsoft.Exchange.WebServices.Data.ServiceRequestException:请求失败。基础连接已关闭:服务器关闭了一个预期保持活动状态的连接。---->System.Net.WebException

  • 我使用快速和连接超时中间件来处理超时。 它工作得很好,但是我默认的服务器的超时设置为两分钟。 因此,如果我想将超时中间件设置为大于两分钟的值,我还必须将http服务器超时增加到稍大一点(否则我的连接超时处理程序不会被调用) 我怎样才能避免这种情况?我错过什么了吗?

  • 我使用的是Spring Boot 1.4.2中的spring-boot-starter-data-jpa。 一切都很好(@Entity classes discovery、datasource自动配置、transaction自动配置、EntityManager自动配置)。