2016-08-10 7 views
0

テキストの値を変更したい。しかし、テキストは、テキストボックスの段落の中間(4行目)にあります。テキストを特定する方法とそれを変更する方法を教えてください。テキストボックスの段落内の特定のテキスト値を上書きする方法

注:この場合、clear()& sendkeys()メソッドは使用できません。残りのすべてのデータは動的に変化しているためです。

答えて

1

「テキストボックス」とは、input type="text"を意味します。

以下を行う必要があります。

  1. input type="text"要素は、DOMを形成しなさい。
  2. 値(テキスト)を取得します。
  3. .replace()を使用してください。
  4. に戻っ置き換えた文字列を入れてください。

HTML

<input id="myInput" type="text" value="This is my text" /> 

JS

var myInput = document.getElementById("myInput") 
var myText = myInput.value.replace("my", "your"); 
myInput.value = myText; 

"これがあなたのテキストです" に変わります "これは私のテキストです"。セレンおよびJavaを使用して

0

、あなたはこのようにそれを行うことができます。

//load the original text 
    String originalText = driver.findElement(By.id(inputId)).getAttribute("value"); 
    // replace 
    String newText = originalText.replace("what_you_want_to_replace", "text_to_replace_with"); 
    //clear field 
    driver.findElement(By.id(inputId)).clear(); 
    //write your new text 
    driver.findElement(By.id(inputId)).sendKeys(newText); 
0

あなたはセレンによって文字列にすべてのテキスト領域を解析することができます。そのクリアテキストエリアの後

 public string ReplaceRow(string txtArea, int replaceLine, string textToReplace) 
     { 
      //Split txtArea into List String 
      List<string> list = new List<string>(Regex.Split(txtArea, Environment.NewLine)); 
      //Replace specific line with your text 
      list[replaceLine - 1] = textToReplace; 
      return String.Join(Environment.NewLine, list); 
     } 

と内部この置き換え文字列を送信します

その後、新しい段落を取得するには、このメソッドを使用して。あなたのために働くことを願っています。

+0

Viet Phamありがとうございます。あなたのソリューションは私の問題に適しています – Varma

関連する問題