2

我无法使用 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>
4

3 回答 3

1

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

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

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

于 2012-08-17T05:51:09.060 回答
0

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

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

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

于 2012-08-15T19:36:24.443 回答
0

如果清除和发送密钥无济于事:

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

于 2017-03-13T23:50:36.790 回答