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

问题描述

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

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");
    

其他注意事项

确保: