Javascript webdriverio';设置值';对输入字段抛出错误InvalidElement状态

Javascript webdriverio';设置值';对输入字段抛出错误InvalidElement状态,javascript,jquery,selenium,mocha.js,webdriver-io,Javascript,Jquery,Selenium,Mocha.js,Webdriver Io,(会话信息:chrome=49.0.2623.75) (驱动程序信息:chromedriver=2.21.371459(36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),平台=Mac OS X 10.11.4 x8664)(警告:服务器未提供任何堆栈跟踪信息) [09:49:15]:错误未知远程端发送未知状态代码。 RuntimeError:元素状态无效:元素必须是用户可编辑的才能清除它 截图: 此表单是使用jquery文本选择器库实现的。是否有其他方法来设置

(会话信息:chrome=49.0.2623.75) (驱动程序信息:chromedriver=2.21.371459(36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),平台=Mac OS X 10.11.4 x8664)(警告:服务器未提供任何堆栈跟踪信息) [09:49:15]:错误未知远程端发送未知状态代码。 RuntimeError:元素状态无效:元素必须是用户可编辑的才能清除它

截图:


此表单是使用jquery文本选择器库实现的。是否有其他方法来设置值?

在这种情况下,您应该使用以下方法来设置
输入
字段中的
设置值
:-

InvalidElementState An element command could not be completed because the element is in an invalid state (e.g. attempting to click a disabled element).
        invalid element state: Element must be user-editable in order to clear it.
如果要使用
JavascriptExecutor
,请尝试以下方法:-

WebElement inputEl = driver.findElement(By.xpath("xPath exression"));
inputEl.click();
inputEl.sendKeys(Keys.chord(Keys.CONTROL, "a"), Keys.DELETE, "valuet to set");
已编辑..

如果元素消失,您需要在设置值之前单击元素以启用此
输入


希望这将帮助您…:)

对于SendKeys选项:未知错误处理命令时发生未知服务器端错误。未知错误:无法聚焦元素(会话信息:chrome=49.0.2623.75)(驱动程序信息:chromedriver=2.21.371459(36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),平台=Mac OS X 10.11.4 x8664)(警告:服务器未提供任何堆栈跟踪信息)[08:52:36]:错误未知远程端发送未知状态代码。让我尝试第二个选项-您能告诉我元素是否已启用,您想在何处设置值…作为引发的异常。。。。这意味着没有关注此元素…您需要在设置值之前单击此元素。@Varam非常欢迎您…如果您对答案感到满意,请不要忘记接受答案…:)
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();arguments[0].value='';arguments[0].value=arguments[1];",inputEl,"valuet to set");