未知错误:即使在chromedriver升级后,调用函数结果也缺少Selenium Send Keys的'value'

Zak*_*med 108 selenium google-chrome webdriver python-2.7 selenium-webdriver

发送密钥时我收到以下错误.

结果消息:

System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.14393 x86_64)
Run Code Online (Sandbox Code Playgroud)

我已将chrome驱动程序更新为2.36,但仍然我的代码搜索2.33?

任何的想法 ?

小智 114

我遇到了同样的错误,请下载最新的ChromeDriver版本和/或更新Chrome浏览器版本,它会正常工作:)

https://chromedriver.storage.googleapis.com/index.html?path=2.36/

  • 如果你正在使用https://github.com/flavorjones/chromedriver-helper gem,那么在控制台`chromedriver-update 2.36中运行 (6认同)
  • 如果你使用Homebrew,你可以执行`brew upgrade chromedriver` (4认同)
  • 我下载了最新的chromedriver 2.36但仍然无法使用Chrome版本65.0.3325.146(官方版本)(64位)至少在Mac OS上:( (2认同)
  • 哦,道歉,我实际上错误地配置了我的路径,在我将它链接到新的chromedriver后,我的脚本现在实际上工作了.顺便说一句,我正在使用Windows机器. (2认同)

AKa*_*ala 22


将Google Chrome浏览器更新为版本65.0.3325.146(官方版本)(64位)后,我在向输入字段发送值时遇到了同样的错误,这里是错误消息...

selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'
Run Code Online (Sandbox Code Playgroud)

使用Chromedriver 2.32和谷歌Chrome 65.0

当我对此进行一些研究时,我发现最近对Google Chrome v65更改日志的提交帮助我解决了这个问题.

解:

  • 将Google Chrome更新为最新的稳定版本(在我的情况下,它是v65于9月3日/ 2018年)
  • 下载并配置最新的chromedriver(v2.36).要配置chromedriver(在Ubuntu上),请按照以下步骤操作...

    1. 解压缩下载的zip文件.
    2. 将提取的chromedriver文件复制到/ usr/local/bin或通常存储可执行二进制文件的位置.
    3. 将相同的路径(放置chromedriver文件的位置)添加到环境变量PATH as

export PATH = $ PATH:/ usr/local/bin

  1. 要测试安装,请重新启动终端并键入此命令

chromedriver --version

它会显示你刚刚安装的chromedriver的版本.

注意: 如果已安装并配置了chromedriver,则只需替换现有的驱动程序文件,如果您不知道Chromedriver二进制文件已存储在何处,请尝试使用以下命令查找该文件

 sudo find -H / -type f -iname chromedriver
Run Code Online (Sandbox Code Playgroud)


Dee*_*k N 13

这是因为Chrome浏览器版本从64.xx更新到65.xx

现在您有2个选项可以成功运行测试.

  1. 将您的Chrome浏览器降级到以前的版本,并使用您现在拥有的旧的chromedriver.

  2. 使用更新的Chrome浏览器将Chromedriver升级到2.36版本.

    访问https://chromedriver.storage.googleapis.com/index.html?path=2.36并下载新的chromedriver.

选项2更好.


Sat*_*rma 12

将ChromeDriver.exe替换为最新版本:2.37.同样可以从Google轻松下载.

  • 这对我有用 - 2.37的下载可以在这里找到:https://chromedriver.storage.googleapis.com/index.html?path = 2.37 / (3认同)

小智 10

需要更新chromedriver:在控制台中,运行: chromedriver-update 2.36


Deb*_*anB 9

错误说明了一切:

System.InvalidOperationException : unknown error: call function result missing 'value'
  (Session info: chrome=65.0.3325.146)
  (Driver info: chromedriver=2.33.506120
Run Code Online (Sandbox Code Playgroud)

该错误明显抱怨InvalidOperationException

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

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

支持Chrome v60-62

支持Chrome v64-66

  • 您的Selenium客户端版本不为我们所知.

因此,ChromeDriver版本(v2.33)与Chrome浏览器版本(v65.0)之间存在明显的不匹配

  • Selenium升级到当前级别版本3.11.0.
  • 升级ChromeDriverChromeDriver v2.37水平.
  • Chrome版本保持在Chrome v64.x-66.x级别之间.(根据ChromeDriver v2.37发行说明)
  • 清理你的项目工作,通过你的IDE重建仅需要依赖你的项目.
  • 使用CCleaner工具在执行测试套件之前和之后擦除所有操作系统.
  • 如果您的基本Web浏览器/ Web客户端版本太旧,请通过Revo Uninstaller将其卸载并安装最新的GA和发布的Web浏览器/ Web客户端版本.
  • 执行你的@Test.


小智 5

如果你在Mac上:

brew upgrade selenium-server-standalone
brew upgrade chromedriver
Run Code Online (Sandbox Code Playgroud)

如果没有安装以上两个:

brew install selenium-server-standalone
brew install chromedriver
Run Code Online (Sandbox Code Playgroud)