2012-11-23 27 views
0

我一直是这样,现在挣扎超过5小时GeckoFX - 获取GetHtmlElementById

例子:

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

如何访问基于“ID通过GetHtmlElementById或任何其他的解决方案,DIV的内容“

我试图

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

和即时得到NullRefferenceException(体REF erence不设置到对象的实例)

其他例如:导航到用户使用google.co.uk

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

      }; 

的MessageBox应该显示我的“谷歌搜索”,但没有运气

系统.NullReferenceException未被用户代码处理
Message =未将对象引用设置为对象的实例。
源=壁虎FX堆栈跟踪: 在gecko_fx.Form1.b__2(对象,EventArgs的)在C:\用户\ DRS \应用程序数据\本地\临时项目\壁虎FX \ Form1.cs中:行在Gecko.GeckoWebBrowser .OnDocumentCompleted(EventArgs e)in C:\ Users \ hindlet \ Documents \ Visual Studio 2010 \ Projects \ geckofx-15.0 \ Geckofx-Winforms \ GeckoWebBrowser.Events.cs:line at Gecko.GeckoWebBrowser.Gecko.nsIWebProgressListener。 OnStateChange(nsIWebProgress aWebProgress,nsIRequest aRequest,UInt32的aStateFlags,的Int32 aStatus) 在C:\用户\ hindlet \文件\的Visual Studio 2010 \项目\ geckofx-15.0 \ Geckofx-的Winforms \ GeckoWebBrowser.cs:线 1700的InnerException:

回答

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

这对我的作品。

+0

我正在寻找这个解决方案几个星期 - 非常感谢。 但也许你可以告诉我,如果这个“价值”属性是ID div的“InnerHtml”? –