テキストの値を変更したい。しかし、テキストは、テキストボックスの段落の中間(4行目)にあります。テキストを特定する方法とそれを変更する方法を教えてください。テキストボックスの段落内の特定のテキスト値を上書きする方法
注:この場合、clear()& sendkeys()メソッドは使用できません。残りのすべてのデータは動的に変化しているためです。
テキストの値を変更したい。しかし、テキストは、テキストボックスの段落の中間(4行目)にあります。テキストを特定する方法とそれを変更する方法を教えてください。テキストボックスの段落内の特定のテキスト値を上書きする方法
注:この場合、clear()& sendkeys()メソッドは使用できません。残りのすべてのデータは動的に変化しているためです。
「テキストボックス」とは、input type="text"
を意味します。
以下を行う必要があります。
input type="text"
要素は、DOMを形成しなさい。.replace()
を使用してください。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を使用して
、あなたはこのようにそれを行うことができます。
//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);
あなたはセレンによって文字列にすべてのテキスト領域を解析することができます。そのクリアテキストエリアの後
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);
}
と内部この置き換え文字列を送信します
その後、新しい段落を取得するには、このメソッドを使用して。あなたのために働くことを願っています。
Viet Phamありがとうございます。あなたのソリューションは私の問題に適しています – Varma