Chrome org.openqa.selenium.NoSuchSessionException:无此会话

kpbwa7wx  于 2022-12-06  发布在  Go
关注(0)|答案(1)|浏览(201)

在 selenium 中访问下面的方法时,得到“没有这样的会话”异常。我知道网上有很多相同的问题有不同的答案,但似乎没有一个在我的情况下解决。有任何帮助吗?
Chrome驱动程序版本:- 2.38 Chrome版本:-66.0.3359.117
异常消息为:-

org.openqa.selenium.NoSuchSessionException: no such session
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 10.0.10240 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.11.0', revision: 'e59cfb3', time: '2018-03-11T20:26:55.152Z'
System info: host: 'XXYYXX', ip: 'XXYYXX', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_144'
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: C:\Users\XXYYXX\AppData\L...}, cssSelectorsEnabled: true, databaseEnabled: false, handlesAlerts: true, hasTouchScreen: false, javascriptEnabled: true, locationContextEnabled: true, mobileEmulationEnabled: false, nativeEvents: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: XP, platformName: XP, rotatable: false, setWindowRect: true, takesHeapSnapshot: true, takesScreenshot: true, unexpectedAlertBehaviour: , unhandledPromptBehavior: , version: 66.0.3359.117, webStorageEnabled: true}
Session ID: 6db82d5d19891c00f783fd9b7cebd234
*** Element info: {Using=xpath, value=html/body/div[1]/div/div/div[2]/div/div[2]/div/div/p}
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    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)
    at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)
    at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)
    at org.openqa.selenium.remote.RemoteWebDriver.findElements(RemoteWebDriver.java:346)
    at org.openqa.selenium.remote.RemoteWebDriver.findElementsByXPath(RemoteWebDriver.java:425)
    at org.openqa.selenium.By$ByXPath.findElements(By.java:356)
    at org.openqa.selenium.remote.RemoteWebDriver.findElements(RemoteWebDriver.java:307)
    at org.openqa.selenium.support.ui.ExpectedConditions.findElement(ExpectedConditions.java:895)
    at org.openqa.selenium.support.ui.ExpectedConditions.access$000(ExpectedConditions.java:44)
    at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:206)
    at org.openqa.selenium.support.ui.ExpectedConditions$7.apply(ExpectedConditions.java:202)
    at org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:248)
    at UserInterfaceTesting.LoginValidator.validation(LoginValidator.java:31)
    at HybridFrameWork.test1.validation_of_server_response_at_something_page(test1.java:41)
    at ?.And Validation of server response at "Login" Page(Userlogin.feature:14)

我的计划:-

else if (CommonObjRepository.getMessage().contentEquals("Login")) {

// This is where exception is being thrown //
            String Message = wait
                    .until(ExpectedConditions
                            .visibilityOfElementLocated(By.xpath("html/body/div[1]/div/div/div[2]/div/div[2]/div/div/p")))
                    .getText();

            assertEquals(ReadProperties.GetConstant("XXTTX"), Message);
            CommonObjRepository.getLog().info("***** XXXYYYZZZ *****");

        }
unguejic

unguejic1#

此错误消息...

org.openqa.selenium.NoSuchSessionException: no such session

...表示 chromedriver=2.38 无法启动与WebClient(即 Chrome 浏览器)的活动会话。
您的主要问题是所使用的二进制文件之间的版本兼容性,如下所示:

  • 尽管您使用最新 *Selenium客户端 * 版本3.11.0,*Chrome驱动程序 * 版本 2.38Chrome 版本 v66.0
  • 您的 *JDK版本 * 是1.8.0_144,该版本相当古老

溶液

  • JDK 升级到最新级别JDK 8u241
  • 通过 *IDE**清理 * 您的 * 项目工作区 *,并仅使用必需的依赖项 * 重建 * 项目。
  • 如果您的基本 *Web客户端 * 版本太旧,请将其卸载,然后安装最新的GA和发布版本的 *Web客户端 *。
  • 执行 * 系统重启 *。
  • 执行您的@Test

相关问题