"Brett" <no@spam.com> wrote in message
news:OU**************@TK2MSFTNGP14.phx.gbl...
The following code will allow me to loop through FORM tags but not the
elements in them. I may have five forms on one page. How do I loop
through form elements in the forth FORM?
private SHDocVw.InternetExplorer IE_Inst = new
SHDocVw.InternetExplorerClass();
....
mshtml.IHTMLDocument2 HTMLDocument =
(mshtml.IHTMLDocument2) this.IE_Inst.Document;
mshtml.IHTMLElementCollection forms = HTMLDocument.forms;
foreach (mshtml.HTMLFormElementClass el in forms)
{
strType = el.outerHTML;
}
Once I'm in a particular FORM, I want to find certain input fields and
fill in values.
Thanks,
Brett
I'm currently getting around the problem by looping through all elements in
the Doc:
foreach (mshtml.IHTMLElement wbrElm in wbrAll)
{
// Assign the inner html values of the input to our variables
//look for only INPUT types
if(wbrElm.tagName.ToLower() == "input" &&
wbrElm.outerHTML.IndexOf("name", 1) > 0)
{
strName = wbrElm.getAttribute("name", 0).ToString();
Debug.WriteLine(wbrElm.tagName.ToLower() + " -- " + wbrElm.outerHTML);
// We are only interested in filling text boxes,
// and only interested in a specific one, i.e. "q"
if (strName != null && strName.ToLower() == userNameFormField)
// Set the "value" with the setAttribute method.
wbrElm.setAttribute("value", userNameValue, 0);
if (strName != null && strName.ToLower() == passwordFormField)
// Set the "value" with the setAttribute method.
wbrElm.setAttribute("value", passwordValue, 0);
}
} //end for each
Not the best technique.
Brett
if (strName != null && strName.ToLower() == passwordFormField)
// Set the "value" with the setAttribute method.
wbrElm.setAttribute("value", passwordValue, 0);
}
} //end for each