使用htmlunit的多行文本区域

Multi Line Text Area using htmlunit

本文关键字:文本 区域 htmlunit 使用      更新时间:2023-09-26

要求:我在网页上有一个多行文本区,有一些默认值,我需要改变这些值并提交表单。文本区域的定义如下:

<textarea id="editorarea" name="_editedtext"
         class="editor"
       onkeyup="getSuggestions(this.id)"
       onclick="setCursorPos(this.id)"
      onchange="setCursorPos(this.id)"
          rows="20" cols="80">! Lorem ipsum" text is derived
from sections 1.10.32–3 of Cicero's De
finibus bonorum et malorum (On the Ends of Goods

问题:当我从字符串设置文本区域的文本时,它变成如下所示:

<textarea id="editorarea" name="_editedtext"
         class="editor"
       onkeyup="getSuggestions(this.id)"
       onclick="setCursorPos(this.id)"
      onchange="setCursorPos(this.id)"
          rows="20" cols="80">Lorem ipsum" text is derived&lt;br&gt;from sections 1.10.32–3 of Cicero's De &lt;br&gt;| LPAR Name If Remote:| N/A1&lt;br&gt;'' &lt;br&gt;! Endpoints&lt;br&gt;finibus bonorum et malorum (On the Ends of Goods'&lt;br&gt;         

所以内容变成单行,换行不能被识别,我试过"'n", "
"都不起作用。

我在数组列表中输入,并将它们转换为单个字符串,如下所示:

public static void createString(){
    StringBuilder sb = new StringBuilder();
    for(String s : finalModifiedList){
    sb.append(s);
sb.append("<br>");   
    }
    finalString =sb.toString();

和设置文本区内容如下

HtmlTextArea  erfTextarea = textAreaForm.getTextAreaByName("_editedtext");
erfTextarea.setText(content);

TextArea字符集:UTF-8

请让我知道如何使用htmlunit

输入多行文本

将createString()中的sb.append("<br>");替换为sb.append("'n");