将密钥发送到某些字段时我会使用
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的发行说明明确提到以下内容:
Supports Chrome v60-62
>您正在使用chrome = 65.0
> ChromeDriver v2.36发行说明明确提到以下内容:
Supports Chrome v65-66
>我们不知道您的Selenium Client版本.
>您不知道您的JDK版本.
因此,ChromeDriver版本(v2.33)和Chrome浏览器版本(v65.0)之间明显不匹配
解
>将JDK升级到最新级别JDK 8u162.
>将硒升级到当前水平Version 3.11.0.
>将ChromeDriver升级到ChromeDriver v2.36级.
>将Chrome版本保持在Chrome v65.x级别. (as per ChromeDriver v2.36 release notes)
>通过IDE清理项目工作区,并仅使用必需的依赖项重建项目.
>使用CCleaner工具清除测试套件执行前后的所有操作系统杂项.
>如果您的基本Chrome版本太旧,请通过Revo Uninstaller卸载它,并安装最新的GA和已发布的Chrome版本.
>执行您的@Test.
更新:
根据您的评论,如果您无法升级到ChromeDriver v2.36,则可以采用以下两种策略之一:
>保持chromedriver = 2.33,但降级至Chrome v60-62
>升级chromedriver = 2.34并降级到Chrome v61-63
>升级chromedriver = 2.35并降级到Chrome v62-64
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。