如何在c#中点击网站上的按钮?

时间:2015-12-23 01:00:35

标签: c# html .net winforms

在这段代码中,我使用webbrowser导航到一个站点。 然后我想在网站上点击一下按钮。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Web.UI;

namespace Click_On_Website_Button
{
    public partial class Form1 : Form
    {


        public Form1()
        {
            InitializeComponent();

            webBrowser1.ScriptErrorsSuppressed = true;
            webBrowser1.Navigate("http://www.mysiteexample.com");


        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            HtmlElementCollection classButton = webBrowser1.Document.All;
            foreach (HtmlElement element in classButton)
            {
                if (element.GetAttribute("addMessage") == "button")
                {
                    element.InvokeMember("click");
                }
            }

        }
    }
}

当我在查看页面源时,我搜索addmessage并找到:

http://www.mysiteexample.com

但是,当我正在运行我的程序时,它永远不会出现在这条线上:

element.InvokeMember("click");

当我在按钮上的网站上创建Inspect元素时,它会添加一条消息:

<span class="addMessage" onclick="location='http://www.tapuz.co.il/forums/addmsg/393/טבע_ומזג_אוויר/מזג_האוויר'">  | הוספת הודעה</span>

在源视图中,addmessage部分是这样的:

<div class="SecondLineMenu" id="SecondLineMenu">
                    <span class="addMessage"  onclick="location='http://www.tapuz.co.il/forums/addmsg/393/טבע_ומזג_אוויר/מזג_האוויר'" >  | הוספת הודעה</span>

1 个答案:

答案 0 :(得分:1)

您应该查找ID或名称......

GetAttribute ("addMessage") == "button"

除非你有这样的元素,否则永远不会成真:

<input type="button" ... addMessage="button">