Selenium技术问题:调用sendKeys方法时抛出异常求助
解决Selenium调用sendKeys时出现"unknown error: call function result missing 'value'"异常
这个报错我之前帮不少开发者排查过,核心原因是浏览器版本、ChromeDriver版本和Selenium版本不兼容,咱们来一步步拆解解决:
问题根源
你当前的环境配置明显不匹配:
- Chrome浏览器:65.0.3325.181
- ChromeDriver:2.30(这个版本仅支持Chrome v58-60,和你用的Chrome 65完全不搭)
- Selenium:2.53.0(2016年的老版本,对高版本Chrome的兼容性极差)
ChromeDriver和Chrome的版本对应是硬规则,版本不匹配就会出现这类莫名其妙的调用异常。
具体解决方案
1. 匹配ChromeDriver与Chrome版本
针对Chrome 65,你需要下载ChromeDriver 2.37(这个版本专门适配Chrome v64-66),直接替换掉你当前的chromedriver.exe即可。
2. 升级Selenium版本
Selenium 2.53.0太老旧了,建议升级到3.x系列的稳定版本(比如3.141.59,这个版本兼容性覆盖极广)。如果用Maven管理依赖,修改pom.xml:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency>
如果是直接导入jar包,下载对应版本的完整包替换原有jar就行。
3. 额外排查小技巧
调用sendKeys前,一定要确保元素已经完全就绪,避免因为元素未加载完成导致的异常,比如用WebDriverWait等待元素可交互:
WebDriverWait wait = new WebDriverWait(driver, 10); WebElement inputElement = wait.until(ExpectedConditions.elementToBeClickable(By.id("你的输入框ID"))); inputElement.sendKeys("要输入的内容");
按照这几步调整,基本就能解决这个报错了,我之前遇到好几个类似配置的开发者,这么操作后都恢复正常了。
内容的提问来源于stack exchange,提问作者user6441133
相关产品推荐
相关产品推荐

