C# - GeckoFX 与 InnerHTML
C# - GeckoFX vs InnerHTML
如果我使用默认的 Visualstudio webBrowser 控件 (IE),我会这样写:
textBox3.Text = webBrowser1.Document.GetElementById("mydivid").InnerHtml;
但我固执地使用 GeckoFX (Mozilla),当然它不起作用。我发现的是我需要处理 "HTMLDocument" 而不是 "Document" 的信息才能获得我想要的值。但是没有适合我需要的例子。
如何获取这个特定元素的 innerHTML?
--- 对@Timothy Groote 的回应---
我已经阅读了其他主题 - GetElementById
中没有代码示例,这就像是宽定义,但我需要特定的 - 我无法阅读此代码并获得明确的信息是什么方法或 属性 我应该在我的应用程序中使用。
我可以补充一点,我的元素是并且将永远是 HTML 元素,所以我不需要每次都用 "if".
验证
当我在我的应用程序中使用 "the other code" 时,结果(而不是内部 HTML)仅为:
<head></head><body></body>
在"the other code"也有一个错误:
var geckoDomElement = WebBrowser1.Document.DocumentElement;
没有 webBrowser1 控件! 只有 geckoWebBrowser1,两者都不起作用!
--- 编辑 2 ---
我也在想类似的事情:
textBox3.text = (GeckoHtmlElement)geckoWebBrowser1.Document.GetElementById("mydivid")....
但是也没有"innerHtml"
在
(GeckoHtmlElement)geckoWebBrowser1.Document.DocumentElement
没有"getElementById"。
如果您使用 Geckofx 45,那么它非常简单,只需像这样尝试....
GeckoHtmlElement testelement = null;
testelement = (GeckoHtmlElement)webBrowser1.Document.GetElementById("test");
string text=testelement .InnerHtml;
如果您不知道如何使用 Geckofx 45,请尝试这个简单的教程..
How to use or embed Geckofx 45 Webbrowser control into Visual Studio into WinForms Applications
回答
当然定义变量:
GeckoHtmlElement machcode;
查找元素:
machcode = geckoWebBrowser1.Document.GetHtmlElementById("machinecode");
最后阅读内容:
textBox3.Text = machcode.InnerHtml;
一件重要的事情是将代码放在 DocumentComplete 事件中!
Web 中提供的每个解决方案都是错误的 - 有些指向不存在的 webBrowser1 控件,有些忘记定义,有些抛出空异常,有些使用错误的 GetElement 而不是 GetHtmlElement。
如果我使用默认的 Visualstudio webBrowser 控件 (IE),我会这样写:
textBox3.Text = webBrowser1.Document.GetElementById("mydivid").InnerHtml;
但我固执地使用 GeckoFX (Mozilla),当然它不起作用。我发现的是我需要处理 "HTMLDocument" 而不是 "Document" 的信息才能获得我想要的值。但是没有适合我需要的例子。 如何获取这个特定元素的 innerHTML?
--- 对@Timothy Groote 的回应---
我已经阅读了其他主题 - GetElementById
中没有代码示例,这就像是宽定义,但我需要特定的 - 我无法阅读此代码并获得明确的信息是什么方法或 属性 我应该在我的应用程序中使用。
我可以补充一点,我的元素是并且将永远是 HTML 元素,所以我不需要每次都用 "if".
验证当我在我的应用程序中使用 "the other code" 时,结果(而不是内部 HTML)仅为:
<head></head><body></body>
在"the other code"也有一个错误:
var geckoDomElement = WebBrowser1.Document.DocumentElement;
没有 webBrowser1 控件! 只有 geckoWebBrowser1,两者都不起作用!
--- 编辑 2 ---
我也在想类似的事情:
textBox3.text = (GeckoHtmlElement)geckoWebBrowser1.Document.GetElementById("mydivid")....
但是也没有"innerHtml"
在
(GeckoHtmlElement)geckoWebBrowser1.Document.DocumentElement
没有"getElementById"。
如果您使用 Geckofx 45,那么它非常简单,只需像这样尝试....
GeckoHtmlElement testelement = null;
testelement = (GeckoHtmlElement)webBrowser1.Document.GetElementById("test");
string text=testelement .InnerHtml;
如果您不知道如何使用 Geckofx 45,请尝试这个简单的教程.. How to use or embed Geckofx 45 Webbrowser control into Visual Studio into WinForms Applications
回答 当然定义变量:
GeckoHtmlElement machcode;
查找元素:
machcode = geckoWebBrowser1.Document.GetHtmlElementById("machinecode");
最后阅读内容:
textBox3.Text = machcode.InnerHtml;
一件重要的事情是将代码放在 DocumentComplete 事件中!
Web 中提供的每个解决方案都是错误的 - 有些指向不存在的 webBrowser1 控件,有些忘记定义,有些抛出空异常,有些使用错误的 GetElement 而不是 GetHtmlElement。