Java 如何使用Selenium Webdriver将文本设置为TextArea?

Java 如何使用Selenium Webdriver将文本设置为TextArea?,java,selenium,selenium-webdriver,webdriver,Java,Selenium,Selenium Webdriver,Webdriver,我正在尝试将一些文本设置到文本区域,默认情况下,文本区域中有一些文本,单击时会清除这些文本,然后您可以将文本设置为文本,但我可以使用java使用webdriver执行这些操作 以下是TextArea的代码片段: 以下是我迄今为止所尝试的: 元素是TextArea控件本身: element= driver.findElement(By.id("gwt-uid-13")) element.clear(); element.sendKeys("Modificatio

我正在尝试将一些文本设置到文本区域,默认情况下,文本区域中有一些文本,单击时会清除这些文本,然后您可以将文本设置为文本,但我可以使用java使用webdriver执行这些操作


以下是TextArea的代码片段:


以下是我迄今为止所尝试的: 元素是TextArea控件本身:

element= driver.findElement(By.id("gwt-uid-13"))
element.clear();
element.sendKeys("Modification Comment TextArea");

此外,我还尝试先单击元素:

元素。单击();元素。clear();元素sendKeys(“修改注释文本区域”)

请查看随附的图像以了解更多信息:


这对我来说很有用(通过反复试验了解这一点)- 我没有先执行click(),而是尝试发送TAB并清除值

element.sendKeys(Keys.TAB);
element.clear();
element.sendKeys("Some Sample Text Here");

谢谢

我使用了javascript执行器

org.openqa.selenium.JavascriptExecutor.executeScript(字符串,对象…)

而是:

   String javascriptToExecute = String.format("document.getElementById('%1$s').value = decodeURI('%2$s');  ",
                componentId, uriEcondedValue);

getJavascriptExecutor().executeScript(javascriptToExecute);

当文本很长时,SendKeys可能会超时、花费很长时间或不稳定。然后,可以将文本复制到剪贴板,然后将
OpenQA.Selenium.Keys.Control+“v”
发送到文本区域元素。
这种方法的一个缺点是,您需要Java中的awt或Swing,或者C#中的System.Windows或System.Windows.Forms。

是否有错误?因为根据您发布的图像,您是否尝试删除
element.clear()行?我不明白这个问题。你要训练发送的文本在那里。你担心它还是灰色的吗?如果是这样,这似乎是GUI逻辑中的一个问题。@guy-不,它没有给我任何错误,图像显示插入的值,但是当我们对其他元素执行某些操作时,或者即使我单击同一元素,文本也会被删除。@MosamMehta-当删除
元素时。clear()行将文本追加到默认情况下出现的“输入常用注释”文本中。