我正在尝试将HTML代码(大约3000个字母(插入文本区域。有.sendkeys
,但是很慢。所以我搜索并找到了一种将javascript与Selenium一起使用的方法,它工作得很好,直到我达到必须添加HTML代码的地步。我当前的代码:
public void AttributeSet(string id, string value) {
IJavaScriptExecutor js = (IJavaScriptExecutor)browser;
js.ExecuteScript("document.getElementById("" + id + "").value = ('" + value + "');");
}
我意识到它适用于单行字符串,但是对于多行字符串和包含引号""
的字符串很难。
由于HTML代码有一堆引号,它一直阻止我这样做。到目前为止,我尝试的是更改我的字符串(换行符到n
,">到"
"(和一堆我忘记的其他事情。
有没有简单的方法可以做到这一点?如果是,请帮助我,我将不胜感激!
您使用什么浏览器?如果您使用的是任何中等现代的浏览器,它应该支持 es6 多行字符串。
为了使用多行字符串,将单引号字符 ' 更改为反引号 '。
js.ExecuteScript("document.getElementById("" + id + "").value = (`" + value + "`);");
,你添加一个对 System.Web 的引用,然后继续
通过HttpUtility.JavaScriptStringEncode(value);
感谢所有试图提供帮助的人。