Is there a way to iterate all form field in WatiN? Code snippet would be highly appreciated. Thanks.
+1
A:
string url = "http://localhost//test.htm";
string formId = "myFormId";
IE ie = new IE(url);
Form form = ie.Form(formId);
CheckBoxCollection checkBoxCollection = form.CheckBoxes;
for (int index = 0, total = checkBoxCollection.Count; index < total; index++) {
CheckBox checkBox = checkBoxCollection[index];
this.AddInputControl(checkBox.Id, checkBox);
}
RadioButtonCollection radioButtonCollection = form.RadioButtons;
for (int index = 0, total = radioButtonCollection.Count; index < total; index++) {
RadioButton radioButton = radioButtonCollection[index];
this.AddInputControl(radioButton.Id, radioButton);
}
SelectListCollection selectListCollection = form.SelectLists;
for (int index = 0, total = selectListCollection.Count; index < total; index++) {
SelectList selectList = selectListCollection[index];
this.AddInputControl(selectList.Id, selectList);
}
TextFieldCollection textFieldCollection = form.TextFields;
for (int index = 0, total = textFieldCollection.Count; index < total; index++) {
TextField textField = textFieldCollection[index];
this.AddInputControl(textField.Id, textField);
}
Tom Brothers
2010-01-19 14:08:06
A:
Is there a way to maintain the order of the form fields as they appear in the form? This solution groups the form fields.
Given a form, how so I focus on the first form field, then "tab" to the next form field, and so on?
StackOverflowNewbie
2010-01-21 11:08:29
+1
A:
Try this:
string url = "http://localhost//test.htm";
string formId = "myFormId";
IE ie = new IE(url);
Form form = ie.Form(formId);
ElementCollection elements = form.Elements.Filter(Find.ByElement(x =>
{
return x is TextField || x is SelectList || x is RadioButton || x is CheckBox;
}));
JamesH
2010-01-22 18:13:01