2012-08-15 50 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");

相關問題