Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何从Cypress中清除Codemirror编辑器字段_Javascript_Cypress_E2e Testing_Codemirror - Fatal编程技术网

Javascript 如何从Cypress中清除Codemirror编辑器字段

Javascript 如何从Cypress中清除Codemirror编辑器字段,javascript,cypress,e2e-testing,codemirror,Javascript,Cypress,E2e Testing,Codemirror,我已经从另一个答案中尝试过类似的东西 如果它有帮助的话,这就是我与Cypress合作的网站 我遇到的问题是,当我尝试实现它时,我对编辑器没有定义。我试图进一步挖掘窗口对象,但找不到任何类似于Codemirror编辑器的东西。在任何其他Codemirror元素上运行.clear{force:true}不会产生任何结果,只会在textfield上键入{force:true}将新内容与旧内容一起添加 非常不直观,但您可以通过交换新的CodeMirror文档实例来更新内容 editor.swapDoc(

我已经从另一个答案中尝试过类似的东西

如果它有帮助的话,这就是我与Cypress合作的网站


我遇到的问题是,当我尝试实现它时,我对编辑器没有定义。我试图进一步挖掘窗口对象,但找不到任何类似于Codemirror编辑器的东西。在任何其他Codemirror元素上运行.clear{force:true}不会产生任何结果,只会在textfield上键入{force:true}将新内容与旧内容一起添加

非常不直观,但您可以通过交换新的CodeMirror文档实例来更新内容

editor.swapDoc(CodeMirror.Doc([contents],[language]));

这就是我在

上处理内容更新的方式。我最终使用的解决方案与问题中的代码块类似,只是做了一些更改

我不是从Cypress那里得到窗口对象;代码镜像编辑器不在那里

我使用了Evan Plaice给我的与DOM上的编辑器实例相关的想法,然后手动搜索CodeMirror DOM层次结构以找到它

生成的代码将清除一个特定的编辑器,因为有两个编辑器,所以[0]是必需的

得到“密码镜” 第一 .theneditor=>{ 编辑器[0]。CodeMirror.setValue; };
win.editor在Cypress中一直未定义。然后我在console.log中的任何窗口对象上都看不到它,只是win我也不明白为什么。。。它应该存在于某个地方,所以我可以手动对其进行核爆,这取决于它是如何创建的。然后,我使用fromTextArea—一旦创建了它—您就可以使用getElementById或querySelector获取对编辑器的引用。CodeMirror选项直接在元素上变异。有一个CodeMirror全局,但它用于存储全局功能,例如编辑器创建、语法突出显示。编辑器实例直接绑定到DOM元素。嘿!再次非常感谢,我能够得到一个有效的解决方案,你的回答真的帮了我的忙!HellToTheYeah.gif
editor.swapDoc(CodeMirror.Doc([contents],[language]));