在代码中定位第三方编辑器的时候,通过定位编辑区域,sendkeys内容的时候,报错如下:
这个错误的意思是元素不可交互,我们需要通过以下办法解决:
1. 编辑区域本身就有默认内容,不需要手动实现;
2. 通过键盘来操作。
针对第一种办法,测试代码不必对现有的内容进行修改,直接进行修改之后的内容即可。
针对第二种办法,通过定位编辑框,然后鼠标双击进入编辑状态,删除默认内容,再从键盘输入其他内容即可。代码如下:
WebElement ele = driver.findElement(By.cssSelector("#article_details_reply > div.CodeMirror.cm-s-default.CodeMirror-wrap.CodeMirror-empty > div.CodeMirror-scroll > div.CodeMirror-sizer > div > div > div > div.CodeMirror-code > div > pre"));Actions actions = new Actions(driver);actions.doubleClick(ele);actions.keyDown(Key.DELETE);actions.moveToElement(ele).sendKeys("已回复");
这种报错不常见,主要出现在特定场景:如项目中引入了第三方编辑器。