日期:2014-05-17  浏览次数:20785 次

关于webbrowser获取网页结果,点击事件的问题
请问为什么我把网页输出的结果添加到listbox1,这里没有被执行呢?要点击两次button3按钮他才会执行。
我想做个百度指数的查询工具,用chinaz的查询页面,给输入框赋值并点击按钮后网页会列出结果,我想把这些结果添加到listbox1 但不知道他为什么没有执行,不太明白事件的原理,大大们解答下啊 谢谢。

  private void button3_Click(object sender, EventArgs e)
        {
            //URL=http://tool.chinaz.com/baidu/words.aspx
            //给输入框赋值并点击查询按钮,点击后网页会增加一些html元素,也就是点击后输出的结果
            webBrowser1.Document.GetElementById("kw").InnerText = textBox1.Text;
            webBrowser1.Document.GetElementsByTagName("input")[1].InvokeMember("click"); 
            //把结果添加listbox1(以下的代码没有被执行)
            if (webBrowser1.ReadyState==WebBrowserReadyState.Complete)
            {
                HtmlElementCollection htma = webBrowser1.Document.Links;
                HtmlElement htm;
                foreach (HtmlElement item in htma)
                {

                    if (item.InnerHtml.Contains(textBox1.Text))
                    {
                        listView1.Items.Add(item.InnerText);  
                    }
                }
            }
            
        }