如何解决处理命令时发生未知的服务器端错误原始错误:未知错误:无法使用模拟器浏览器聚焦元素
我可以单击该用户名字段,但无法传递该字段中的值。面对以下错误。
driver.get("xxxx");
webdriverwait wait = new webdriverwait(driver,60);
WebElement username = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("xxxx")));
username.click();
username.sendKeys("xxxxxxxx");
我收到的错误 -
处理命令时发生未知的服务器端错误。 原始错误:未知错误:无法聚焦元素(会话信息: 铬=69.0.3497.100)
解决方法
您可以使用 click()、clear() 和 sendkeys() 组合,它对我有用:
username.click();
username.clear();
username.sendkeys("xxxx")
这个错误信息...
An unknown server-side error occurred while processing the command. Original error: unknown error: cannot focus element (Session info: chrome=69.0.3497.100)
...表示 Selenium 无法聚焦所需元素。
要调用 sendKeys()
而不是 visibilityOfElementLocated()
,您需要为 elementToBeClickable()
引入 WebDriverWait,您可以使用以下任一 Locator Strategies:
-
id
:WebElement username = new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.id("xxxx"))); username.click(); username.clear(); username.sendKeys("xxxxxxxx");
-
cssSelector
:WebElement username = new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.cssSelector("#xxxx"))); username.click(); username.clear(); username.sendKeys("xxxxxxxx");
-
xpath
:WebElement username = new WebDriverWait(driver,20).until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='xxxx']"))); username.click(); username.clear(); username.sendKeys("xxxxxxxx");
其他注意事项
确保:
- JDK 升级到当前级别 JDK 8u271。
- Selenium 已升级到当前发布的 Version 3.141.59。
- ChromeDriver 已更新至当前 ChromeDriver v87.0 级别。
- Chrome 已更新至当前的 Chrome 版本 87.0。 (按照ChromeDriver v87.0 release notes)。
- 如果您的基本 Web Client 版本太旧,请卸载它并安装 Web Client 的最新 GA 和发布版本。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。