学校组织我们学习程继续教育,平时工作很忙,哪有时间上网页去看视频。坑爹的是,这个网页每隔30分钟就会弹出一个由Div制作的对对话框,1分钟内不按确定则学习无效。我想做一个外挂,用C#,里面用到WebBrowser控件,每隔一段时间模拟按下回车键,这个我已经实现实现了,如果网页弹出的对话框是模态的系统对话框,则没问题。但是就是不能点击由DIV生成的按钮。从源代码来看,这个对话框是用ajax从服务器上发送过来动态生成的。请问高手如何解决?

解决方案 »

  1.   

    用抓包工具看下该div和按钮的id,然后用个js定时器,每隔100毫秒判断html中是否出现该元素,有的话执行按钮的click方法。
      

  2.   

    如何模拟点击WebBrowser控件中网页子窗口中的按钮
    WebBrowser1.Document.frames(0).Document.getElementById("update").ClickWebBrowser1.Document.Forms("frmtimer").getElementById("update").Click如果你的按钮所起到的作用是submit,应该首先找到IFrame,或Frames窗口,然后在其中寻找Form标签,执行的方法是
    [FormName].Submit        
    WebBrowser1.Document.frames(0).[FormName].Submit 此类提交时使时间重置为0WebBrowser1.Document.frames(0).Document.getElementById("update").Click情况不清楚,建议作如下调试
    1、set obj= WebBrowser1.Document.frames(0).Document.getElementById("btn")
    Msgbox obj.tagName
    2、这样可以试验成功
      For Each a In web2.Document.frames(1).Document.getElementsByTagName("INPUT")
        If a.Id = "update" Then
        a.Click
        MsgBox a.Value
        End If
    Next