2014-02-18 1 views
8

CodeMirror 편집기가 포함 된 페이지에서 자동 테스트를 실행하기 위해 Selenium을 사용하고 있습니다. 객체에 대한 액세스 권한이 없지만 jQuery를 사용할 수 있습니다. CodeMirror가 변경 사항을 인식하는 방식으로 편집기의 내용을 편집하려면 어떻게해야합니까?객체에 대한 액세스 권한없이 CodeMirror 내용을 프로그래밍 방식으로 편집

+1

는 여기에 [샘플]입니다 (http://stackoverflow.com/a :이 코드는 셀레늄/자바 같을 것이다 어떻게/34485327/771848). – alecxe

답변

11

div DOM 요소 (클래스 CodeMirror)는 편집기 인스턴스 개체를 나타내는 CodeMirror 속성을 갖습니다. 이에 대해서는 setValue으로 전화 할 수 있습니다.

7

선택한 답변이 도움이 되었기 때문에 여기에 게시하십시오. 그러나 JavaScript를 모르거나 WebElement 속성과 상호 작용하는 방법으로 내 문제를 완전히 해결할 수있는 정보가 부족합니다. 누군가가 CodeMirror 편집자 다루는 파이썬 셀레늄 방법을 검색 할 경우

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); 
+0

은 매력처럼 작동합니다! – Nitiraj

+0

인수가 있습니다. [0] .CodeMirror가 정의되지 않았습니다. – user3233451

관련 문제