GeckoFX - 获取GetHtmlElementById

时间:2012-11-23 18:25:59

标签: c# dom geckofx

我现在已经挣扎了5个多小时

示例:

 <div id='xx'>content</div> 

如何通过GetHtmlElementById或基于“Id”的任何其他解决方案访问该div的内容

我试过

GeckoElement el = browser.Document.GetElementById("xx");
MessageBox.Show(el.TextContent); 

我正在获取NullRefferenceException(对象引用未设置为对象的实例。)

其他示例:导航到google.co.uk

browser.DocumentCompleted += delegate { 
                MessageBox.Show(browser.DomDocument.GetElementById("gbqfsa").TextContent);

            };

MessageBox应该向我显示“Google搜索”,但没有运气

  

System.NullReferenceException未被用户代码
处理   Message =对象引用未设置为对象的实例   Source = gecko fx StackTrace:          at gecko_fx.Form1.b__2(Object,EventArgs)在C:\ Users \ drs \ AppData \ Local \ Temporary Projects \ gecko fx \ Form1.cs:line   44          在C:\ Users \ hindlet \ Documents \ Visual Studio中的Gecko.GeckoWebBrowser.OnDocumentCompleted(EventArgs e)   2010 \项目\ geckofx 15.0 \ Geckofx-的WinForms \ GeckoWebBrowser.Events.cs:行   177          在Gecko.GeckoWebBrowser.Gecko.nsIWebProgressListener.OnStateChange(nsIWebProgress)   aWebProgress,nsIRequest aRequest,UInt32 aStateFlags,Int32 aStatus)   在C:\ Users \ hindlet \ Documents \ Visual Studio中   2010 \项目\ geckofx 15.0 \ Geckofx-的WinForms \ GeckoWebBrowser.cs:行   1700 InnerException:

1 个答案:

答案 0 :(得分:4)

            GeckoHtmlElement ele;
            ele = geckoWebBrowser1.Document.GetHtmlElementById("myData");
            MessageBox.Show(ele.GetAttribute("Value"));

这适合我。