現在要獲得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是可以的??赡躦oogle 跟百度的機制不一樣。 幫幫忙!?。?
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 關注
- 731 瀏覽
添加回答
舉報
0/150
提交
取消
