本帖最后由 mdjcad 于 2010-03-30 15:48:59 编辑

解决方案 »

  1.   

    希望能帮上你!在 .net framework 1.0 中有个 microsoft.mshtml 控件的封装,可以实现对webBrowser 中的网页进行JavaScript 注入!详细步骤 如下:1,新建项目-建立应用程序-拖入webBrower-赋值URL2,项目添加引用- .Net - microsoft.mshtml-详细代码如下!string scriptline10 = @"alert('aaaa')";mshtml.IHTMLWindow2 win = (mshtml.IHTMLWindow2)this.webBrowser1.Document.Window.DomWindow;
    win.window.execScript(scriptline10, "Javascript"); 
      

  2.   

    在.net2.0中同样可以使用。
    至于怎么选中checkbox你就自己写段JavaScript 执行下!就哦了!
      

  3.   

    先谢谢mmm306306为我破处啊。^_^你说的那个方法,我看到了。可以,就是我脚本返回不明白,没找到有例子。
      

  4.   

    大哥你雷我一下!
    你的意思是不是这样
    在WebBrowser上点击下CheckBox执行,然后将这个值返回给winform程序?
      

  5.   

    页面是这样工作的。
    用WebBrowse访问一个页面,页面中有很多checkbox 和一个button.
    点击button 执行JS,遍列所有的checkbox状态,将所有checkbox.checked=true 的value值发给服务器。我现在想改为这样:
    往页面中新添加一个button ,点击执行我插入的JS。并返回checkbox.value的值到winform.
      

  6.   

    你直接获取webbrowser里面的html部分,然后查找所有checkbox为true的不就行了
      

  7.   

    代码类似于下面        private void SetAllWebItemSelf(HtmlElementCollection items)
            {
                try
                {
                    foreach (HtmlElement item in items)
                    {
                        if (item.TagName.ToLower().Equals("iframe", StringComparison.OrdinalIgnoreCase) == false)
                        {
                            try
                            {
                              //获取你想要的部分,例如checkbox 
                            }
                            catch
                            { }
                        }
                        else
                        {
                            try
                            {
                                HtmlElementCollection fitems = item.Document.Window.Frames[item.Name].Document.All;
                                //递归是为了解决框架的问题
                                this.SetAllWebItemSelf(fitems);   
                         }
                            catch
                            { }
                        }
                    }
                }
                catch
                {
                }
            }
      

  8.   

    WebBrowse 执行JavaScript 返回value?
    这个value 只能使用winform取那些value吧。
      

  9.   


    我是给客户用的,要保持操作一样。返回checkbox 之前,在页面上还有操作,我新加的button除了返回数据外,还要在客户认为操作完成时将我JS处理过的数据提交给服务器。和用页面本身的button提交的数据不同.其实在winform上加一button就可以,可是客户不同意。
      

  10.   

    http://www.dreamershop.com/info/n995c7.aspxhttp://www.iwms.net/n1670c13.aspx
      

  11.   

    http://www.dreamershop.com/info/n995c7.aspx
    http://www.iwms.net/n1670c13.aspx
      

  12.   

    http://www.dreamershop.com/info/n995c7.aspx对于CSDN的排版,我无语了http://www.iwms.net/n1670c13.aspx
      

  13.   


    先谢谢了。不过我现在的问题是webbrowser装载页面后如何向页面加入按钮。
      

  14.   

    晕,不看帖子哦http://www.iwms.net/n1670c13.aspx
    方法二:使用DOM(文档对象模型) 
    将HTML文档解析为DOM,然后遍历每个节点,在其中搜索关键字并进行相应替换处理即可。
     
     IHTMLDOMNode orgNode = document.createTextNode(keyword); 
                            IHTMLDOMNode hilightedNode = (IHTMLDOMNode)document.createElement("SPAN"); 
                            IHTMLStyle style = ((IHTMLElement)hilightedNode).style; 
                            style.color = "black"; 
                            style.backgroundColor = "yellow"; 
                            hilightedNode.appendChild(orgNode); 
      

  15.   

    还是没看懂如何添加一个button到页面中。不过发现另一个思路。修改js
    function do(){
    var str = "";
    var len = 0;
             ...
            if (len == 0) {
    ralert("错误","确定");
    return;
    }
    var r = sendPost("ok.php", "num=" + len);
    if (r != "") {
    ...
    }

    var url = "ok2.php?num=" + len + Math.random();        window.location.href='/admin.php';//这行是我想加入的。 var ret = sendGet(url);
             ...
      

  16.   


    function do(){
        var str = "";
        var len = 0;
             ...
            if (len == 0) {
            ralert("错误","确定");
            return;
        }
        var r = sendPost("ok.php", "num=" + len);
        if (r != "") {
            ...
        }
        
        var url = "ok2.php?num=" + len + Math.random();        window.location.href='/admin.php';//这行是我想加入的。如何在WebBrowse WebBrowser1_DocumentCompleted 加入这行呢    var ret = sendGet(url);
             ...如何在WebBrowse WebBrowser1_DocumentCompleted 完成时加入上面那行呢?