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

时间:2016-02-01 08:50:45

标签: java selenium selenium-webdriver webdriver

我正在尝试将一些Text设置到TextArea中,默认情况下它有一些文本,当点击清除然后你可以设置文本,但是我可以使用webdriver执行它的java。

这是TextArea的代码片段:

<textarea id="gwt-uid-13" class="v-textarea v-widget v-textarea-required v-required v-has-width v-textarea-prompt" aria-labelledby="gwt-uid-12" aria-required="true" rows="5" tabindex="0" style="width: 600px;" maxlength="4000"/>

这是我到目前为止所尝试的内容: element是TextArea控件本身:

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

另外,我尝试先点击元素,

element.click(); element.clear(); element.sendKeys("Modification Comment TextArea");

请查看附带的图片以获取更多信息:

Default view

After running the code

谢谢

3 个答案:

答案 0 :(得分:1)

这对我有用(通过反复试验了解) - 而不是先执行click(),我尝试发送TAB并清除值。

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

由于

答案 1 :(得分:0)

我利用了javascript执行器。

org.openqa.selenium.JavascriptExecutor.executeScript(String,Object ...)

改为:

string in list

答案 2 :(得分:0)

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