Selenium Javascript 将 HTML 代码插入文本区域 [问题]



我正在尝试将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);

感谢所有试图提供帮助的人。

最新更新