处理命令时发生未知的服务器端错误原始错误:未知错误:无法使用emulator浏览器聚焦元素

g52tjvyc  于 2021-06-29  发布在  Java
关注(0)|答案(2)|浏览(422)

我可以单击用户名字段,但无法传递该字段中的值。面对下面的错误。

driver.get("xxxx");
WebDriverWait wait = new WebDriverWait(driver, 60);
WebElement username = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("xxxx")));
username.click();
username.sendKeys("xxxxxxxx");

我收到的错误-
处理命令时发生未知的服务器端错误。原始错误:未知错误:无法聚焦元素(会话信息:chrome=69.0.3497.100)

j0pj023g

j0pj023g1#

此错误消息。。。

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() 你需要诱导webdriverwait elementToBeClickable() 您可以使用以下任一定位器策略: 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升级到当前的JDK8U271级别。
selenium已升级到当前发布的版本3.141.59。
chromedriver更新为当前chromedriver v87.0版本。
chrome更新到当前的chrome 87.0版本(根据chromedriver v87.0发行说明)。
如果您的基本web客户端版本太旧,请卸载它并安装最新的ga和发布的web客户端版本。

tcbh2hod

tcbh2hod2#

您可以使用click()、clear()和sendkeys()组合,这对我很有用: username.click(); username.clear(); username.sendkeys("x")

相关问题