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.
(会话信息:chrome = 49.0.2623.75) (驱动程序信息:chromedriver = 2.21.371459(36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform = Mac OS X 10.11.4 x86_64)(警告:服务器未提供任何堆栈跟踪信息) [09:49:15]:ERROR未知远程端发送未知状态码。 RuntimeError:无效的元素状态:元素必须是用户可编辑的才能清除它。
屏幕截图:
此表单已使用jquery文本选择器库实现。有没有其他方法来设置价值?
答案 0 :(得分:2)
在这种情况下,您应该在setValue
字段中使用input
的以下方法: -
WebElement inputEl = driver.findElement(By.xpath("xPath exression"));
inputEl.click();
inputEl.sendKeys(Keys.chord(Keys.CONTROL, "a"), Keys.DELETE, "valuet to set");
如果您想使用JavascriptExecutor
,请尝试以下方法: -
JavascriptExecutor js = (JavascriptExecutor)driver;
js.executeScript("arguments[0].click();arguments[0].value='';arguments[0].value=arguments[1];",inputEl,"valuet to set");
<强>被修改.. 强>
您需要在设置值之前单击元素以启用此input
,如果它已消失..
希望这会对你有所帮助...... :)