Python 2.7 未知错误:调用函数结果丢失';价值';对于Selenium,即使在chromedriver升级后也会发送密钥
我在发送密钥时遇到以下错误 结果消息:Python 2.7 未知错误:调用函数结果丢失';价值';对于Selenium,即使在chromedriver升级后也会发送密钥,python-2.7,google-chrome,selenium,selenium-webdriver,webdriver,Python 2.7,Google Chrome,Selenium,Selenium Webdriver,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
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)
我已经将chrome驱动程序更新为2.36,但我的代码搜索还是2.33
有什么想法吗?我遇到了同样的错误,请下载最新的ChromeDriver版本和/或更新chrome浏览器版本,它将正常工作:)
在将Google Chrome浏览器更新到65.0.3325.146版(官方版本)(64位)之后,我也遇到了同样的错误 将值发送到输入字段时,出现以下错误消息
selenium.common.exceptions.WebDriverException: Message: unknown error: call function result missing 'value'
使用Chromedriver 2.32和Google Chrome 65.0
当我做了一些相同的研究时,我发现了谷歌chrome v65的最新变更日志,它帮助我解决了这个问题
解决方案:
- 将Google Chrome更新至最新稳定版本(就我而言,是2018年3月9日的v65)
- 下载并配置最新的chromedriver(v2.36)。 要配置chromedriver(在Ubuntu上),请遵循以下步骤
- 解压缩下载的zip文件
- 将提取的chromedriver文件复制到/usr/local/bin或通常存储可执行二进制文件的位置
- 将相同的路径(放置chromedriver文件的位置)添加到环境变量path
sudo find -H / -type f -iname chromedriver
这是因为chrome浏览器版本从64.xx更新到65.xx 现在您有两个选项可以成功运行测试
webdriver管理器更新--versions.chrome=“2.36”
(这将新的Chromedriver下载到正确的路径,但未在量角器中启用。)%userprofile%\AppData\Roaming\npm\node\u modules\dragrator\config.json
,并将chromedriver
值从2.32
更改为2.36
%userprofile%\AppData\Roaming\npm\node\u modules\dragrator\selenium
中删除我的旧chromedriver\u 2.32.exe
,以便更好地测量(不确定是否需要)当需要另一个Chromedriver更新时,我无法再以这种方式更新。配置设置仍然需要旧的路径和文件名,我无法确定在何处更改该设置。因此,我刚刚将最新的chromedriver重命名为“chromedriver.exe”,并将其固定在C:\Windows\system32中(它始终由路径引用)。原油,但有效。需要更新chromedriver: 在控制台中,如果您在Mac上,请运行:
chromedriver update 2.36
:
brew upgrade selenium-server-standalone
brew upgrade chromedriver
如果未安装上述两个:
brew install selenium-server-standalone
brew install chromedriver
在我的例子中,我所在的团队将selenium指向我们拥有的特定chromedriver文件。为了让Selenium使用更新的chromedriver,我首先用brew安装了它,然后创建了一个符号链接,指向Selenium查找它的位置:
brew install chromedriver
ln -s /usr/local/Cellar/chromedriver/2.36/bin/chromedriver /path/where/selenium/expects/chromedriver
有可能这会对我需要的人有所帮助,我需要一个额外的步骤: 我在MacOS X上,是的
brew upgrade chromedriver
bundle exec chromedriver-upgrade
我安装了chromedriver助手gem,但它被隐藏起来,需要“bundle exec”前缀,否则shell找不到该命令
以上解决了我的问题。正如其他人提到的,最新的chromedriver为我解决了问题。如果您手动下载驱动程序,并希望通知appium使用新的chromedriver,则可以通过以下命令执行此操作:
appium--chromedriver可执行文件/path/to/driver/chromedriver….
我正在运行量角器,遇到了相同的问题
我的解决办法相当简单
$npm更新量角器-g
$webdriver管理器更新
错误说明了一切:
System.InvalidOperationException : unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.146)
(Driver info: chromedriver=2.33.506120
该错误显然是关于无效操作异常的投诉
您的主要问题是所使用的二进制文件之间的版本兼容性,如下所示:
- 您使用的是chromedriver=2.33
- 的发行说明明确提到以下内容:
- 您使用的是chrome=65.0
- 的发行说明明确提到以下内容:
- 我们不知道您的Selenium客户端版本
- 将硒升级到当前水平
- 将ChromeDriver升级到级别
- 将Chrome版本保持在Chrome v64.x-66.x之间。()
- 通过IDE清理项目工作区,并仅使用所需的依赖项重建项目
- 在执行测试套件之前和之后,使用该工具清除所有操作系统杂务
- 如果您的基本Web浏览器/Web客户端版本太旧,请通过卸载它并安装最新的GA和Web浏览器/Web客户端版本
- 执行
@测试
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>${webdrivermanager.version}</version>
<scope>test</scope>
</dependency>
brew uninstall chromedriver
brew tap homebrew/cask
brew cask install chromedriver
# select by value
try:
select.select_by_value('100')
except:
pass
Use xpaths instead of class names to locate elements
driver.find_element_by_xpath('//*[@id="main"]/footer/div[1]/div[2]/div')
driver.find_element_by_class_name('Some class Name Here')