【问题标题】:i am getting an exception on my dashboard page due to AJax huge calls how to tickle it in selenium web driver with java由于 AJax 巨大的调用如何在 selenium Web 驱动程序中使用 java 对其进行挠痒,我的仪表板页面出现异常
【发布时间】:2018-03-01 10:11:00
【问题描述】:

我正在尝试自动化一个基于 Web 的应用程序,但是由于大量的 Ajax 调用,我得到了一个异常,即使该元素仍然存在于网页上我认为由于 Dom 代码是在页面加载完成之前执行的,即使我使用的是不同的等待方法,但都是徒劳的:

Exception in thread "main" Starting ChromeDriver 2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f) on port 2530
Only local connections are allowed.
Exception in thread "main" org.openqa.selenium.ElementNotVisibleException: element not visible
  (Session info: chrome=64.0.3282.186)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 17 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'lt07', ip: '192.168.0.186', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_101'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, networkConnectionEnabled=false, chrome={chromedriverVersion=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f), userDataDir=C:\Users\NATASH~1\AppData\Local\Temp\scoped_dir1812_20595}, takesHeapSnapshot=true, pageLoadStrategy=normal, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=64.0.3282.186, platform=WIN8_1, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true, setWindowRect=true, unexpectedAlertBehaviour=}]
Session ID: e7deaa74b472d878c9f9f99d5a77fe9a
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
    at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
    at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
    at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
    at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85)
    at Cancel.main(Cancel.java:141)

【问题讨论】:

标签: java ajax selenium selenium-webdriver


【解决方案1】:

错误说明了一切:

Exception in thread "main" org.openqa.selenium.ElementNotVisibleException: element not visible
  (Session info: chrome=64.0.3282.186)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.3.9600 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 17 milliseconds
Build info: version: '2.53.1', revision: 'a36b8b1', time: '2016-06-30 17:37:03'
System info: host: 'lt07', ip: '192.168.0.186', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_101'
Driver info: org.openqa.selenium.chrome.ChromeDriver

您的主要问题是您使用的二进制文件之间的版本兼容性,如下所示:

  • 您正在使用 chromedriver=2.33
  • chromedriver=2.33 的发行说明明确提及以下内容:

支持 Chrome v60-62

  • 您正在使用 chrome=64.0
  • ChromeDriver v2.35 的发行说明明确提及以下内容:

支持 Chrome v62-64

  • 您的 Selenium 客户端 版本是 2016-06-30 17:37:032.53.1,比它早了将近 2 年。
  • 您的 JDK 版本1.8.0_101,相当古老。

所以 JDK v8u101Selenium Client v2.53.1ChromeDriver 版本(v2.33 ) 和 Chrome 浏览器 版本 (v64.0)

解决方案

  • JDK升级到最新级别JDK 8u162
  • Selenium升级到当前级别Version 3.9.1
  • ChromeDriver升级到ChromeDriver v2.35级别。
  • Chrome 版本保持在 Chrome v64.x 级别。 (as per ChromeDriver v2.35 release notes)
  • 清理你的项目工作区重建你的项目只需要依赖。
  • 使用CCleaner 工具在执行测试套件之前和之后清除所有操作系统杂务。
  • 如果您的基础 Chrome 版本太旧,请通过Revo Uninstaller 将其卸载并安装最新的 GA 和已发布版本的 Chrome。
  • 执行您的@Test

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多