【发布时间】:2017-08-13 17:55:07
【问题描述】:
我正在尝试将 HTML 代码(大约 3000 个字母)插入 Textarea。有.sendkeys,但是速度很慢。所以我搜索并找到了一种将 javascript 与 selenium 一起使用的方法,它运行良好,直到我不得不添加 HTML 代码。我当前的代码:
public void AttributeSet(string id, string value) {
IJavaScriptExecutor js = (IJavaScriptExecutor)browser;
js.ExecuteScript("document.getElementById(\"" + id + "\").value = ('" + value + "');");
}
我意识到它对单行字符串工作得很好,但是对于 多行字符串 和 其中包含引号 "" 的字符串很难.
由于 HTML 代码有一堆 引号,它一直阻止我这样做。到目前为止,我尝试的是更改我的字符串(newlines 到 \n," 到 \")还有一堆我忘记的东西。
有没有简单的方法来做到这一点?如果是,请帮助我,我将不胜感激!
【问题讨论】:
-
这是什么浏览器?如果它是 IE,则 64 位版本的驱动程序存在已知问题,并且 .sendKeys() 键入速度很慢。 stackoverflow.com/questions/27985300/…
-
@JoshuaBurns 嗨 Joshua,它仍然会很慢,因为它包含大量字符,这就是为什么我更喜欢立即更改区域的值。
-
似乎您可以在插入之前转义所有问题字符。您的具体问题是什么?
-
@JeffC 我想要做的就是使用 javascript 将大量的 htmlcode 插入到带有 selenium 的 textarea 中。我的问题是由于多行而导致错误,我假设是因为引号、\'s 等。
-
在您缩小问题范围之前,我们无法提供真正的帮助。您尚未提供示例字符串或错误消息或其他任何内容。将字符串分解成更小的部分并插入每个部分,直到遇到问题。找到问题字符并替换它。继续下一部分。
标签: javascript c# selenium selenium-webdriver