My requirement - I open an instance of Internet Explorer programmatically. Then, I get the HTMLDocument and look for an input field(textbox) and then set its value.
HTMLDocument oDoc = new mshtml.HTMLDocumentClass();
oDoc = (HTMLDocument)oBrowser.Document;
HTMLInputElement txtbox1 = (HTMLInputElement)oDoc.all.item("login",0);
txtbox1.setAttribute("value", "test_user_name", 0);
//txtbox1.value = "test_user_name";
My code works fine untill the input field is looked for. The problem is somewhere in the code I ahve posted above. I obtain the HTMLDocument object, then I look for the HTMLInputElement with the name "login". Here, I face an inconsistency - The text box is not recognised sometimes and so when it reaches the txtbox1.SetAttribute
or txtbox1.value
then a NullReferenceException
is thrown. But, this doesn't happen always. Sometimes the exception is not thrown and the code works just fine.
I have tried debugging through the code, but the error never shows up when I debug through the code!!
I am unable to find out what the reason can be? What causes this inconsistency? Any Ideas?