我想更改文本的值。但是文本位于文本框段落的中间(第4行)。任何人都可以指导我如何识别文本以及如何更改它。
注意:我不能使用clear()&在这种情况下sendkeys()方法。因为休息所有其他数据都在动态变化。
答案 0 :(得分:1)
我假设通过" textbox"你的意思是input type="text"
。
你需要:
input type="text"
元素。.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;
&#34;这是我的文字&#34;将更改为&#34;这是您的文字&#34;。
答案 1 :(得分:0)
使用selenium和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);
答案 2 :(得分:0)
您可以通过selenium将所有文本区域解析为字符串。
然后使用此方法获取新段落:
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);
}
在那个明文区域之后并将此替换后的字符串发送到里面。希望它适合你。