【问题标题】:How to set text into TextArea with Selenium Webdriver?如何使用 Selenium Webdriver 将文本设置为 TextArea?
【发布时间】:2016-02-01 08:50:45
【问题描述】:

我正在尝试将一些文本设置到 TextArea 中,默认情况下该文本具有某种文本,单击时会清除该文本,然后您可以为其设置文本,但我可以使用 java 使用 webdriver 执行它。


这是TextArea的代码sn-p:

<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");

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

【问题讨论】:

  • 你有错误吗?因为根据您发布的图片,它可以工作
  • 您是否尝试删除element.clear(); 行?
  • 我不明白这个问题。您正在训练发送的文本就在那里。您是否担心它仍然是灰色的?如果是这样,这似乎是您的 GUI 逻辑中的问题。
  • @guy - 不,它没有给我任何错误,图像显示了插入的值,但是当我们对其他元素执行某些操作时,或者即使我单击同一个元素,文本也会被删除。
  • @MosamMehta - 当删除element.clear(); 行时,它会将文本附加到默认存在的“输入通用评论”文本中。

标签: java selenium selenium-webdriver webdriver


【解决方案1】:

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

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

谢谢

【讨论】:

    【解决方案2】:

    我使用 javascript 执行器。

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

    改为:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-29
        • 1970-01-01
        • 1970-01-01
        • 2014-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多