Make sure, that you try to access the elements only when DOM is ready - be aware, that the control is running asycronously. I don't know if you are trying this from console or from windows forms, but the apprach is highlighted here:
How Use WebBrowser without winform[
^]. It will work, it worked with my test.
Still, you better not use WebBrowser control for that. If you need to mock the user actions in a browser, you can either automate the browser (IE for example) with better tools, like
Harness[
^] or
WatiN[
^], or you can forget the browser alltogether and use
WebClient[
^] or
HttpWebRequest[
^] to interact with the server on http level. If you want to do some batch or background job, this is the way. You will most likelly need to do some sniffing (with
Fiddler[
^] for example) to see what's actually sent and received by the client, but if it's not an ASP.NET Web Forms application with random autogenerated ID's and names, it will be not hard to get the idea quickly. This way you have all the control and consume considerably less resources.