org.openqa.selenium.NoSuchSessionException:在使用ChromeDriver Chrome和Java的selenium自动化测试中没有这样的会话错误
在管道中运行selenium时获取“无此类会话异常”。 我找到了许多与之相关的解决方案,但没有一个适合我。有什么帮助或想法吗? 异常跟踪:org.openqa.selenium.NoSuchSessionException:在使用ChromeDriver Chrome和Java的selenium自动化测试中没有这样的会话错误,java,selenium,google-chrome,selenium-webdriver,selenium-chromedriver,Java,Selenium,Google Chrome,Selenium Webdriver,Selenium Chromedriver,在管道中运行selenium时获取“无此类会话异常”。 我找到了许多与之相关的解决方案,但没有一个适合我。有什么帮助或想法吗? 异常跟踪: org.openqa.selenium.NoSuchSessionException: no such session (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-957.21.3.el7.x
org.openqa.selenium.NoSuchSessionException: no such session
(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-957.21.3.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z'
System info: host: 'chaos', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.21.3.el7.x86_64', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities {acceptInsecureCerts: false, acceptSslCerts: false, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: {chromedriverVersion: 2.38.552522 (437e6fbedfa876..., userDataDir: /tmp/.org.chromium.Chromium...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: LINUX, platformName: LINUX, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 75.0.3770.100, webStorageEnabled: true}
Session ID: e25db38f6fb8cdaac6d4a699504c608f
at sun.reflect.GeneratedConstructorAccessor129.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166)
at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80)
at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44)
我已经登记了密码;没有驱动程序。使用了close()或driver.quit()。测试有时成功运行,有时失败
有人能帮我解决这个问题吗?此错误消息
org.openqa.selenium.NoSuchSessionException: no such session
(Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Linux 3.10.0-957.21.3.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.9.1', revision: '63f7b50', time: '2018-02-07T22:25:02.294Z'
System info: host: 'chaos', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.10.0-957.21.3.el7.x86_64', java.version: '1.8.0_121'
Driver info: org.openqa.selenium.chrome.ChromeDriver
…意味着ChromeDriver无法启动/生成新的浏览上下文,即Chrome浏览器会话
您的主要问题是所使用的二进制文件版本之间的不兼容,如下所示:
- 您使用的是chromedriver=2.38
- 的发行说明明确提到以下内容:
- 假设您使用的是chrome=79.0
- 的发行说明明确提到以下内容:
- 您的Selenium客户端版本是2018-02-07T22:25:02.294Z的3.9.1版本,它几乎比以前的版本早了2年
- 您的JDK版本是1.8.0_121,非常古老
解决方案 确保:
- JDK已升级到当前级别
- 硒被提升到当前水平
- ChromeDriver已更新到当前级别
- Chrome更新到当前的Chrome 79.0版本。(根据)
- 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
- 如果您的基本Web客户端版本太旧,请通过卸载它并安装最新的GA和Web客户端发布版本
- 重新启动系统
- 以非root用户身份执行
@Test