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

C#模拟点击网页按钮,提交数据问题!
这两天写一个自动获取好友列表并访问好友空间留言的程序,到最后提交留言那里卡住了,求各位大大们帮忙! 我的方法思路如下: 
1、获取按钮的HtmlElement对象,热闹后直接调用e2.InvokeMember("Click"),此法不管用.
2、还是上面的原理,用js的方法来执行,还没试!
3、模拟按键的方法,留言的时候可以按Ctrl+Enter快捷键可以留言,我用Sendkeys.Send(^Enter)的方法也没反应,也许可能是焦点的问题,我比较迷惑!
4、最后的办法,是我最不想用的,就是获取按钮坐标,然后移动鼠标到按钮上面,再模拟鼠标单击,这种办法需要控制用户鼠标,我不喜欢。尽管如此,我还是不知道如果获取网页中按钮的坐标,以及移动光标并模拟单击。
以上就是菜鸟我的想法,请大大们过目,分析分析,并指出一种可行的方法。
附上按钮html
<button type="button" class="gb_bt" id="btnPostMsg">发表</button>

------解决方案--------------------
refer:
 private void Form1_Load(object sender, EventArgs e)
        {
            this.webBrowser1.Url = new Uri("http://www.baidu.com");
        }
 
        private void button1_Click(object sender, EventArgs e)
        {
            HtmlElement searchWords = webBrowser1.Document.All["kw"];
            HtmlElement searchButton = webBrowser1.Document.All["su"];
            searchWords.SetAttribute("value", "guwei4037");
            searchButton.InvokeMember("click");
        }