以编程方式编辑CodeMirror内容而无需访问对象

ajn*_*ral 10 javascript selenium codemirror selenium-webdriver

我正在使用Selenium在包含CodeMirror编辑器的页面上运行自动化测试.我没有访问该对象,但我确实有jQuery可用.如何以CodeMirror识别更改的方式编辑编辑器的内容?

Mar*_*ijn 13

包装divDOM元素(带有类CodeMirror)将具有CodeMirror引用编辑器实例对象的属性.你可以打电话setValue来.


小智 8

在这里发布这个,因为所选择的答案帮助了我,但我缺乏一些信息来完全解决我的问题(主要是由于我不知道JavaScript或如何与WebElement属性交互).这就是Selenium/Java代码的样子:

WebDriver driver = new FirefoxDriver();
WebElement queryInput = driver.findElement(By.cssSelector("div[class='CodeMirror']"));
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("arguments[0].CodeMirror.setValue(\"" + query + "\");", queryInput);
Run Code Online (Sandbox Code Playgroud)