public static void GetFormItems() { if (temp != null && temp.Page.Form != null) { HtmlElementCollection hs = webBrowser1.Document.GetElementsByTagName("input"); HtmlElementCollection hs1 = webBrowser1.Document.GetElementsByTagName("textarea"); HtmlElementCollection hs2 = webBrowser1.Document.GetElementsByTagName("select"); List <HtmlElement> list = hs.MergeCollection(hs1); list.MergeCollection(hs2); FormUtility f = temp.Page.Form; for (int i = 0; i < f.Items.Count; i++) { string nam = f.Items[i].NameValue.Key; nam = nam ?? ""; string name = list[i].Name; if (string.IsNullOrEmpty(name)) { name = list[i].Id; } name = name ?? ""; if (nam.ToLower() == name.ToLower()) { string val = GetValue(list[i]); f.SetItem(i, val); } else { for (int j = 0; j < list.Count; j++) { if (i == j) { continue; } name = list[j].Name; if (string.IsNullOrEmpty(name)) { name = list[j].Id; } name = name ?? ""; if (name.ToLower() == nam.ToLower()) { string val = GetValue(list[j]); f.SetItem(i, val); break; } } } } } }
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { if (!set)//导航的 { PageUtility p = new PageUtility(); HtmlElementCollection hs = webBrowser1.Document.GetElementsByTagName("input"); HtmlElementCollection hs1 = webBrowser1.Document.GetElementsByTagName("textarea"); HtmlElementCollection hs2 = webBrowser1.Document.GetElementsByTagName("select"); List <HtmlElement> list = hs.MergeCollection(hs1); list.MergeCollection(hs2); List <ItemUtility> items = new List <ItemUtility>(); foreach (HtmlElement he in list) { ItemUtility item = new ItemUtility(); string name = he.Name; if (string.IsNullOrEmpty(name)) { name = he.Id; } name = name ?? ""; item.NameValue = new KeyValuePair <string, string>(name, GetValue(he)); items.Add(item); } p.Form = new FormUtility(items); p.URL = webBrowser1.Document.Url.AbsoluteUri; temp.Page = p; temp.Name = webBrowser1.Document.Title; } else//载入的 { SetFormItems(); } set = false; ready = true; OnDocumentCompleted(e); if (auto) { timer1.Start(); } 保存表单ToolStripMenuItem.Enabled = true; }
private void SetFormItems() { HtmlElementCollection hs = webBrowser1.Document.GetElementsByTagName("input"); HtmlElementCollection hs1 = webBrowser1.Document.GetElementsByTagName("textarea"); HtmlElementCollection hs2 = webBrowser1.Document.GetElementsByTagName("select"); List <HtmlElement> list = hs.MergeCollection(hs1); list.MergeCollection(hs2); FormUtility form = temp.Page.Form; for (int i = 0; i < list.Count; i++) { HtmlElement he = list[i]; string name = he.Name; if (string.IsNullOrEmpty(name)) { name = he.Id; } name = name ?? ""; if (name.ToLower() == form.Items[i].NameValue.Key.ToLower()) { SetValue(he, form.Items[i].NameValue.Value); } else { for (int j = 0; j < form.Items.Count; j++) { if (i == j) { continue; } if (name.ToLower() == form.Items[j].NameValue.Key.ToLower()) { SetValue(he, form.Items[j].NameValue.Value); break; } } } } }