就是我能模拟点击里面的某个<a></a>么?模拟填里面的<input>等...
谢谢了.

解决方案 »

  1.   

    可以通过document获取元素。设置里面的各种属性和值,至于点击,应该也可以从里面找到
      

  2.   

    取得元素控制
    另外在winform中可以调用webBrowser控件中写好的js
    if (this.m_axHtmlEditor.AxBorwse.ObjectForScripting == null || !this.m_axHtmlEditor.AxBorwse.ObjectForScripting.Equals(this))
                                {
                                    // 将当前类设置为可由脚本访问
                                    this.m_axHtmlEditor.AxBorwse.ObjectForScripting = this;
                                }
    /// <summary>
            /// 调用当前Html中的Js脚本
            /// </summary>
            /// <param name="strJsName">Js函数名称</param>
            /// <param name="Obj">Js函数参数,参数个数等于数组个数</param>
            public void InvokeScript(string strJsName,object[] Obj)
            {
                try
                {
                    // 当执行Js时候,必须保证Html不为null且含有执行的Js脚本名称
                    if (this.m_axHtmlEditor.DocumentText != null && this.m_axHtmlEditor.DocumentText.IndexOf(strJsName) != -1)
                    {
                        // 调用Html的Js方法,并传入参数
                        // 例如:
                        // object[] objects = new object[1];
                        // objects[0]       = "C#访问Js";
                        this.m_axHtmlEditor.AxBorwse.Document.InvokeScript(strJsName, Obj);
                    }
                }
                catch (Exception)
                {
                    // 屏蔽任何错误
                }
            }
      

  3.   

    如何模拟点击<a></a>或者按钮的呢?
    谢谢.
      

  4.   

    我自己解决了..
    但是        private int now = 0;
            private HtmlDocument web;
            public Form1()
            {
                InitializeComponent();
            }
            private void Form1_Load(object sender, EventArgs e)
            {
                web = this.webBrowser.Document;
            }        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
            {
                
                switch (now)
                { 
                    case 0:
                        web.GetElementsByTagName("input")[0].SetAttribute("value", "http://wap.qq.com/");
                        web.GetElementsByTagName("input")[2].InvokeMember("click");
                        break;
                    case 1:
                        openQQ();
                        break;            }
                now = now + 1;
            }
    提示Object reference not set to an instance of an object.呢.
      

  5.   

    额,现在又遇到个麻烦的问题..
    就是一路都很顺利的...
    但是最后一个提交的他本来是<input type="submit">这个的.
    但是倒霉的网站又用js将这个标签改为了<a href="***">发表</a>
    所以我就不能直接获取到这个标签了,这个是我通过chrome的审核元素发现的.
    还有单独打开href里面的网址不行的..他提示不要刷新页面.
    现在怎么办呀?谢谢了.