0

我已经为此苦苦挣扎了 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=Object 引用未设置为对象的实例。
Source=gecko fx StackTrace: at gecko_fx.Form1.b__2(Object , EventArgs) in C:\Users\drs\AppData\Local\Temporary Projects\gecko fx\Form1.cs:line 44 at Gecko.GeckoWebBrowser.OnDocumentCompleted(EventArgs e ) 在 C:\Users\hindlet\Documents\Visual Studio 2010\Projects\geckofx-15.0\Geckofx-Winforms\GeckoWebBrowser.Events.cs:Gecko.GeckoWebBrowser.Gecko.nsIWebProgressListener.OnStateChange(nsIWebProgress aWebProgress, nsIRequest aRequest, UInt32 aStateFlags, Int32 aStatus) 在 C:\Users\hindlet\Documents\Visual Studio 2010\Projects\geckofx-15.0\Geckofx-Winforms\GeckoWebBrowser.cs:line 1700 InnerException:

4

1 回答 1

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

这对我有用。

于 2014-12-12T07:21:25.193 回答