none
怎样实现后台打开某个网页,并点击网上的某个链接 RRS feed

答案

  • 你好!

    使用 WebBrowser 控件加载你需要的网页。加载完毕后通过 Document 找到你需要点击的按钮,执行点击事件。 如下:

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        HtmlElement htmlElement = this.webBrowser1.Document.GetElementById("yourElement");
        htmlElement.InvokeMember("click");
    }


    知识改变命运,奋斗成就人生!
    • 已建议为答案 Raymond TangModerator 2009年12月16日 1:49
    • 取消建议作为答案 ahking 2009年12月16日 8:16
    • 已标记为答案 ahking 2009年12月21日 2:16
    2009年12月16日 1:28
    版主

全部回复

  • 你好!

    使用 WebBrowser 控件加载你需要的网页。加载完毕后通过 Document 找到你需要点击的按钮,执行点击事件。 如下:

    private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        HtmlElement htmlElement = this.webBrowser1.Document.GetElementById("yourElement");
        htmlElement.InvokeMember("click");
    }


    知识改变命运,奋斗成就人生!
    • 已建议为答案 Raymond TangModerator 2009年12月16日 1:49
    • 取消建议作为答案 ahking 2009年12月16日 8:16
    • 已标记为答案 ahking 2009年12月21日 2:16
    2009年12月16日 1:28
    版主
  • 可以设定WebBrowser 控件通过在线代理访问么?
    2009年12月16日 2:46
  • 你好!

    你可以尝试设置 ie 的代理,或查看某些在线代码商是否提供了相应的接口。

    知识改变命运,奋斗成就人生!
    2009年12月16日 3:08
    版主

  • 从网上抄的代码:
            [DllImport("wininet.dll", SetLastError = true)]
            private static extern bool InternetSetOption(IntPtr hInternet, int dwOption, IntPtr lpBuffer, int lpdwBufferLength);

            private void RefreshIESettings(string strProxy)
            {
                const int INTERNET_OPTION_PROXY = 38;
                const int INTERNET_OPEN_TYPE_PROXY = 3;

                Struct_INTERNET_PROXY_INFO struct_IPI;

                // Filling in structure
                struct_IPI.dwAccessType = INTERNET_OPEN_TYPE_PROXY;
                struct_IPI.proxy = Marshal.StringToHGlobalAnsi(strProxy);
                struct_IPI.proxyBypass = Marshal.StringToHGlobalAnsi("local");

                // Allocating memory
                IntPtr intptrStruct = Marshal.AllocCoTaskMem(Marshal.SizeOf(struct_IPI));

                // Converting structure to IntPtr
                Marshal.StructureToPtr(struct_IPI, intptrStruct, true);

                bool iReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_PROXY, intptrStruct, Marshal.SizeOf(struct_IPI));
            }

     调用:
                RefreshIESettings("http://proxy.daili.name/");
                this.webBrowser1.Navigate(this.textBox1.Text.Trim());
    好像不起作用

    2009年12月16日 8:17