在GeckoWebBrowser中检索选定的文本
本文关键字:文本 检索 GeckoWebBrowser | 更新日期: 2023-09-27 18:06:21
我在c# . net中使用GeckoFX。可以选择页面中的某些文本。该文本由一个或多个DOM元素组成。我想检索页面中选定的文本。
geckoWebBrowser.Window。选择 是GeckoSelection对象的访问器,该对象包含一些信息,如
-
AnchorOffset : 在选择开始的(text)节点中的偏移,
-
FocusOffset : 选择结束的(text)节点内的偏移
我找不到如何获得所有节点&选择开始和结束的偏移量,或者如何获得选择所跨越的所有元素的范围。
我该怎么做?
我找到了一个使用JavaScript window.getSelection()函数的解决方案。
Javascript解决方案: JSresult
包含所选文本。
GeckoWebBrowser GBrowser = ....
string JSresult = "";
bool bExec;
using (AutoJSContext JScontext = new AutoJSContext(GBrowser.Window.JSContext))
{
bExec = JScontext.EvaluateScript("window.getSelection().toString();", (nsISupports)GBrowser.Window.DomWindow, out JSresult);
}
c# GeckoFx solution: SelectedText
包含所选文本。
GeckoWebBrowser GBrowser = ....
GeckoRange range = GBrowser.Window.Selection.GetRangeAt(0);
string SelectedText = range.CloneContents().TextContent.Trim();