2012-08-15 91 views
2

我无法使用WebClient/HtmlUnit/Java更改textarea中的文本。我试图谷歌它,但没有运气。谁能帮忙?有源码:如何使用WebDriver在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> 

回答

1

我这样做的方式(它适用于我)

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

第一行代码实际上将焦点转移到文本区域,这可能会导致您的问题。试试这个代码,并让我们知道它是否工作。

0

为了抢文本,使用以下命令:

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

这是用C#编写的,但在Java中应该有一个相当于你的方式

0

在清算的情况下发送键没有帮助:

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

相关问题