开发者

Iterate Form Fields in WatiN

开发者 https://www.devze.com 2022-12-17 22:36 出处:网络
Is there a way to iterate all form field in WatiN? Code snippet would be high开发者_JAVA技巧ly appreciated. Thanks.string url = \"http://localhost//test.htm\";

Is there a way to iterate all form field in WatiN? Code snippet would be high开发者_JAVA技巧ly appreciated. Thanks.


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);
}


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;
}));
0

精彩评论

暂无评论...
验证码 换一张
取 消