如何使用WebDriver更改textarea中的文本

时间:2012-08-15 13:34:58

标签: java webdriver htmlunit

我无法使用WebClient / HtmlUnit / Java更改textarea中的文本。我试着谷歌,但没有运气。有人可以帮忙吗?有源代码:

WebDriver driver = new HtmlUnitDriver();
driver.get("http://some_site.com");
driver.findElement(By.id("niEditor")).sendKeys("some value");
String test = findElement(By.id("niEditor")).getText(); // no changes

和html中的标签:

<textarea class="tinyMCE newitem2" id="niEditor" name="description"> MANY TEXT </textarea>

3 个答案:

答案 0 :(得分:1)

我这样做的方式(对我有用)

driver.findElement(By.id("niEditor")).clear();
driver.findElement(By.id("niEditor").sendKeys("data");

第一行代码实际上将焦点转移到可能导致问题的文本区域。试试这段代码,告诉我们它是否有效。

答案 1 :(得分:0)

要获取文本,请使用以下命令:

String test = driver.FindElement(By.Id("niEditor")).GetAttribute("value");

这是用C#编写的,但在Java中应该有一个等价物

答案 2 :(得分:0)

如果清除和发送密钥没有帮助:

webdriver.findElement(<locator of previous element>).sendKeys(Keys.TAB, Keys.chord(Keys.COMMAND, "a"), "This text will replace text in textarea");

相关问题