0
我想将一些内容发送到表格中的单元格。 该表格位于由TinyMCE生成的iFrame内。 由于某些原因,唯一键入的字符是“\ n”。Selenium WebDriver的sendKeys只能键入新行
我有两种方法:switchToFrame()
和switchToDefault()
,用于切换iFrame和窗口。
我有一个方法哪种类型的内嵌框架,这只是正常的<body>
内:
public void typeInBody(String content) {
switchToFrame();
WebElement body = driver.findElement(BODY_LOC);
body.click();
body.sendKeys(content);
switchToDefault();
}
这里是一列中输入方法:
public void typeInColumn(int index, String content) {
switchToFrame();
WebElement column = driver.findElement(COLS_LOC[index]);
column.click();
column.sendKeys(content);
switchToDefault();
}
最后,在这里是“测试”(不是最终测试,仅用于测试上述方法的工作):
@Test(description = "see if tinyMCE methods work")
public void test() {
String content = "Neque porro quisquam est \n" +
"qui dolorem ipsum quia \n" +
"dolor sit amet, \n" +
"consectetur, adipisci velit...";
form = page.getForm();
form.emptyFields(); // driver.findElement(BODY_LOC).clear();
form.insertColumns(); // it's an option from tinyMC (just clicks the button)
form.typeInColumn(0, content); // calls typeInColumn(0, content);
form.clickSave(); // saves the form
form = page.getForm(); // opens the form again
// no assert for now
}
这是测试后的TinyMCE。
这里是form.typeInBody(content);
这就要求typeInBody(内容)。
任何想法,为什么硒这样的表现?
我怀疑,这个问题是硒本身。您是否确实在尝试在列中输入数据时点击并输入正确的元素? – Louis 2014-10-03 16:19:35
我有一个突出显示一个元素的函数,当它应用于那个单元格时,它突出显示它。此外,我在'column.click()'之后放置了一个'Thread.sleep()'来查看焦点是否在那里。之后,在睡觉时(),我甚至在自己的单元上点了一下,以确保它。这就是我认为它来自Selenium的原因。 – tasegula 2014-10-03 17:40:06