org.openqa.selenium.WebDriverException:未知错误:调用函数结果缺少“值”
Posted
技术标签:
【中文标题】org.openqa.selenium.WebDriverException:未知错误:调用函数结果缺少“值”【英文标题】:org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value' 【发布时间】:2018-07-14 12:17:40 【问题描述】:发送键不起作用。请帮我解决这个问题..
WebElement username = driver.findElement(By.xpath("//*[@id='username']"));
username.sendKeys("123456");
控制台:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.31)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86)
(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:32.194Z'
System info: host: 'NEW-PC', ip: '192.168.0.103', os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.8.0_161'
司机信息:
org.openqa.selenium.chrome.ChromeDriver
Capabilities acceptSslCerts: true, applicationCacheEnabled: false, browserConnectionEnabled: false, browserName: chrome, chrome: chromedriverVersion: 2.33.506120 (e3e53437346286..., userDataDir: C:\Users\NEW\AppData\Local\..., 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: 65.0.3325.31, webStorageEnabled: true
【问题讨论】:
【参考方案1】:当 chrome 和 chromedriver 不同步时会出现此问题。要么将两者都更新到最新版本,要么确保它们可以一起工作。运行以下命令后,它对我有用
npm install -g chromedriver --chromedriver-force-download
webdriver-manager update
【讨论】:
【参考方案2】:我看到了同样的问题。该问题仅在使用 Chrome 65(当前:开发通道)时出现。使用 Chrome 64(稳定版和测试版)一切正常。
原来我安装了旧的 chromedriver。具体来说,我使用chrome=65.0.3325.51
和chromedriver=2.29.461585
。运行npm install -g chromedriver
将chromedriver 撞到2.35.528157,现在问题解决了。希望这会有所帮助!
TL;DR:运行npm install -g chromedriver
【讨论】:
谢谢!有效。将 chrome 驱动程序更新到 2.35 不客气。如果答案解决了您的问题,习惯上将其标记为“已接受的答案”。 chromedriver v2.35 目前支持chrome 62-64 我更新到 2.38.0,但是当我检查版本时,它总是说 2.33。我已经更改了 package.config (Visual Studio C#)...我再也找不到对 2.33 的任何引用了。这可能在哪里?我试图删除该项目并重新创建它。我正在使用独立的 selenium 服务器.. 此解决方案不起作用。我有 chrome 71 和驱动程序版本 2.45【参考方案3】:我只是安装了新版本的 Katalon Studio,它运行良好。
【讨论】:
抱歉,但此解决方案(如果正确)很大程度上取决于发布问题的用户的工作流程。在没有真正需要的情况下引入新工具看起来像是在没有真正了解问题的性质/根源的情况下拼命尝试解决问题。【参考方案4】:错误说明了一切:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.31)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 6.1.7601 SP1 x86)
(WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 0 milliseconds
Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:32.194Z'
您的主要问题是您使用的二进制文件之间的版本兼容性,如下所示:
您正在使用 chromedriver=2.33 chromedriver=2.33 的发行说明明确提及以下内容:您正在使用 chrome=65.0 ChromeDriver v2.37 的发行说明明确提及以下内容:支持 Chrome v60-62
支持 Chrome v64-66
所以 ChromeDriver 版本 (v2.33) 和 Chrome 浏览器 版本 (v65. 0)
解决方案
将 ChromeDriver 升级到当前的ChromeDriver v2.37 级别。 将 Chrome 版本保持在 Chrome v65.x 级别。 (as per ChromeDriver v2.37 release notes) 清理你的项目工作区通过你的IDE和重建你的项目只需要依赖。 使用CCleaner 工具在执行测试套件之前和之后清除所有操作系统杂务。 如果您的基础 Web Client 版本太旧,请通过 Revo Uninstaller 卸载它并安装最新的 GA 和发布版本的 Web Client。 执行您的@Test
。
【讨论】:
【参考方案5】:更改最新版本的 ChromDriver 对我有用。
【讨论】:
【参考方案6】:我遇到了同样的问题并安装了 chrome 驱动器。问题已解决。
npm install chromedriver --chromedriver_version=最新
【讨论】:
【参考方案7】:您可能需要更新驱动程序,所有 chromedriver 更新的链接是 http://chromedriver.storage.googleapis.com/index.html 确保您的 chromedriver 对应于您的 chrome 版本
【讨论】:
【参考方案8】:最新的 chrome 浏览器需要相应的最新 chromedriver 可执行文件才能运行测试。
【讨论】:
以上是关于org.openqa.selenium.WebDriverException:未知错误:调用函数结果缺少“值”的主要内容,如果未能解决你的问题,请参考以下文章