我在将密钥发送到某些字段时遇到问题
driver.findElement(By.xpath("//*[@id=\"login-main\"]/a")).click();
Thread.sleep(1000);
driver.findElement(By.xpath("/html/body/div[2]/ion-nav-view/ion-view/login-popup/ion-pane/ion-content/div/form/label[2]/input")).sendKeys("Example");
我将上下文设置为“ driver.context("WEBVIEW_********"); ”,我可以单击应用程序中的按钮,但无法将键放入字段中,上周第一次发生这种情况它正在工作。
错误是:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value'
(Session info: chrome=65.0.3325.109)
(Driver info: chromedriver=2.33.506120
(e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.16299 x86_64) (WARNING: The server did not provide any stacktrace information)
我尝试在 CMD 中使用“ npm install -g chromedriver ”更新 chromeDriver ,但 chromeDriver 没有更新到最新版本 2.36 。
我查了另一个问题,他们有同样的问题,但我认为问题是我无法更新 chromeDriver
该错误说明了一切:
Exception in thread "main" org.openqa.selenium.WebDriverException: unknown error: call function result missing 'value
(Session info: chrome=65.0.3325.109)
(Driver info: chromedriver=2.33.506120 (e3e53437346286c0bc2d2dc9aa4915ba81d9023f),platform=Windows NT 10.0.16299 x86_64)
你的主要问题是版本兼容性您正在使用的二进制文件之间如下:
- 您正在使用chromedriver=2.33
- 发行说明chromedriver=2.33明确提到以下内容:
支持Chrome v60-62
- 您正在使用铬=65.0
- 发行说明Chrome驱动程序v2.36明确提到以下内容:
支持铬 v65-66
- Your 硒客户端我们不知道版本。
- Your JDK版本我们不知道。
所以两者之间存在明显的不匹配Chrome驱动程序版本 (v2.33)和Chrome浏览器版本 (v65.0)
Solution
- Upgrade JDK到最近的水平JDK 8u162.
- Upgrade Selenium到目前的水平版本3.11.0.
- Upgrade Chrome驱动程序 to Chrome驱动程序v2.36 level.
- Keep Chrome版本位于Chrome v65.x水平。 (根据 ChromeDriver v2.36 发行说明)
-
Clean your 项目工作区通过你的IDE and Rebuild您的项目仅具有所需的依赖项。
- Use CCleaner工具可以清除执行之前和之后的所有操作系统杂务测试套件.
- 如果你的基地Chrome版本太旧,然后通过卸载雷沃卸载程序并安装 Chrome 的最新 GA 和发布版本。
- 执行你的
@Test
.
Update :
根据您的评论,如果您无法升级到Chrome驱动程序v2.36您可以采取以下任一策略:
- Keep chromedriver=2.33但降级至Chrome v60-62
- Upgrade chromedriver=2.34并降级至铬 v61-63
- Upgrade chromedriver=2.35并降级至铬 v62-64
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)