【发布时间】:2022-09-23 00:06:30
【问题描述】:
可以使用 Ranorex 适配器获取 HTML 元素的innerText 吗?内部文本是指所选元素的文本及其所有后代的文本。
标签: ranorex
可以使用 Ranorex 适配器获取 HTML 元素的innerText 吗?内部文本是指所选元素的文本及其所有后代的文本。
标签: ranorex
来自 Ranorex 官方支持的This post 暗示 Ranorex 中没有可以执行此操作的功能。因此这篇文章建议首先通过 GetInnerHtml() 获取内部 HTML,然后过滤掉该字符串中的元素标签。
但是,建议的帖子不适合一种特殊情况:
HTML-comment 包含 HTML 标签,例如
<!--<div>else42</div>-->
帖子 <.*?> 中建议的正则表达式不会过滤掉 --> 。因此 HTML-cmets 必须在 HTML-tags 被过滤掉之前被过滤掉:
string innerText = webElement.GetInnerHtml();
if(innerText != null) {
innerText = Regex.Replace(innerText, "<!--[\\s\\S]*?-->", string.Empty); // remove HTML-comments
innerText = Regex.Replace(innerText, "<.*?>", string.Empty); // remove HTML-tags
}
【讨论】: