现在要获得google 输入框, 然后把关键字放到里面去,然后点击 google搜索 按钮。 我的办法是://keyword 就是你要搜索的关键字 HtmlElement html_input = webBrowser2.Document.All["lst-ib"]; html_input.SetAttribute("value", KeyWord); foreach (var item in webBrowser2.Document.GetElementsByTagName("btnG")) { if (item.GetType().ToString() == "submit") { HtmlElement html_btn = (HtmlElement)item; html_btn.InvokeMember("click"); } } 问题是现在的值都是空的。 取不到 那个输入框。 奇怪 应该怎么搞呢。 我试baidu是可以的。可能google 跟百度的机制不一样。 帮帮忙!!!
1 回答
眼眸繁星
TA贡献1873条经验 获得超9个赞
baidu里面不知道你是怎么可以的,但是你上面这段代码肯定是不行的,里面有两处错误。我修改了一下并且加上了注释
HtmlElement html_input = webBrowser2.Document.All["lst-ib"]; html_input.SetAttribute("value", KeyWord); //foreach (var item in webBrowser2.Document.GetElementsByTagName("btnG")) //你上面这句话中GetElementsByTagName("btnG")是查不出来东西的,因为btnG不是TagName,而是Name foreach (var item in webBrowser2.Document.GetElementsByTagName("input")) { //if (item.GetType().ToString() == "submit") //你上面这句话中如果item不为空, //那么item.GetType().ToString()的值也只是System.Windows.Forms.HtmlElement //怎么可能"System.Windows.Forms.HtmlElement"== "submit"? if(((System.Windows.Forms.HtmlElement)item).Name=="btnG") { HtmlElement html_btn = (HtmlElement)item; html_btn.InvokeMember("click"); } }
- 1 回答
- 0 关注
- 684 浏览
添加回答
举报
0/150
提交
取消