CKEditor + Selenium WebDriver不再使用FireFox 9/10了

时间:2012-02-20 06:49:39

标签: selenium ckeditor webdriver

在转移到FF9 / 10之前,这行sendKeys可以很好地与FF8.0.1 + Selenium 2.18配合使用。但是在将FF升级到9和10后,sendKeys将无法在CKEditor中获得任何内容。没有例外,没有警告。我想知道它是否是CKEditor的错误?还是FF 9/10?还是WebDriver?有人知道这个吗?

DesiredCapabilities desiredCapabilities = DesiredCapabilities.firefox();
desiredCapabilities.setPlatform(Platform.WINDOWS);
URL remoteAddress = new URL("http://127.0.0.1:4444/wd/hub");
RemoteWebDriver driver = new RemoteWebDriver(remoteAddress,desiredCapabilities);
driver.get("http://ckeditor.com/demo");
WebElement element = driver.findElement(By.id("cke_contents_editor1")).findElement(By.tagName("iframe"));
element.sendKeys("Cheese!");

当然,我可以像下面一样直接访问CKEditor的实例,但它只是一种解决方法。

((JavascriptExecutor) concorddriver).executeScript("CKEDITOR.instances.editor1.insertText( 'hello' );");

1 个答案:

答案 0 :(得分:1)

如果sendKeys()不起作用,请在使用前尝试click()

这通常有助于解决类似的问题。

但是在尝试之前,请检查元素是否真的找到了!

如果没有检查元素的ID是否仍然相同和/或尝试使用其他By.方法(例如By.className(),...)