打开网页后模拟点击按钮

时间:2013-11-25 16:50:55

标签: c# webrequest

我需要使用

打开网页
WebRequest wr = WebRequest.Create(uri);

此网页有一个下载按钮,需要单击该按钮才能将zip文件下载到我的本地目录。我不知道这个下载按钮的URL,如果我将鼠标悬停在它上面,它只显示.aspx地址。

现在我该如何模拟此点击以便下载文件?

3 个答案:

答案 0 :(得分:1)

using System;
using System.Windows.Forms;

namespace SampleBrowserautomate
{
    public partial class Form1 : Form
    {
        // first of all, insert web browser control and button control into your form
        string target = "https://www.facebook.com/login.php";

        public Form1()
        {
            InitializeComponent();
        }

        private void btnGo_Click(object sender, EventArgs e)
        {
            webBrowser1.Navigate(target);
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            WebBrowser b = (WebBrowser)sender;
            b.Document.GetElementById("email").InnerText = "helloworld@gmail.com";
            b.Document.GetElementById("pass").InnerText = "HelloWorld";
            b.Document.GetElementById("u_0_1").InvokeMember("click");
        }
    }
}

msdn上的另一个例子

http://msdn.microsoft.com/en-us/library/System.Windows.Forms.HtmlElement(v=vs.110).aspx http://msdn.microsoft.com/en-us/library/system.windows.forms.htmlelement.setattribute(v=vs.110).aspx

答案 1 :(得分:0)

UI自动化怎么样?这就是你要追求的吗?

http://msdn.microsoft.com/en-us/library/dd286726.aspx

编辑:Web UI自动化怎么样? http://msdn.microsoft.com/en-us/library/hh404082.aspx

答案 2 :(得分:0)

所以我正在解决这个问题,但要检查一下。

您可以使用此javascript:

触发该按钮的客户端事件
__doPostBack('DownloadButton','OnClick');

这将与chrome控制台中的“javascript:”标头一起使用。现在你可以使用greasemonkey(firefox)或者另外添加chrome来自动执行此操作。