那个网页所在的系统是用aspx做的,但我只熟悉java
那个系统是别人做的,我只是使用者,没有源码
我想做成一个小程序,可以运行起来,定时去点击那个按钮麻烦给出例子或详细思路,谢谢!!

解决方案 »

  1.   

    不需要去点击按钮,
    1)你先搞清楚点击那个按钮会发生什么时:提交表单?或者直接访问一个URL;
    2)然后用代码连接服务器,模拟这个访问行为;
      

  2.   

    这个跟asp还是java貌似没啥关系。
      

  3.   

    系统需要登陆,登陆时有验证码的。
    点击那个按钮后提交表单,查看源文件得到的:<input language="javascript" onclick="__doPostBack('update','')" name="update" type="button" id="update" title="每次学习10分钟后才允许更新学习时间" value="更新学习时间" />function __doPostBack(eventTarget, eventArgument) {
      if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
      theForm.__EVENTTARGET.value = eventTarget;
      theForm.__EVENTARGUMENT.value = eventArgument;
      theForm.submit();
      }
    }<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>
    Untitled Page
    </title>
        <style type="text/css">
        
    .txtbtn_gray
    {
    FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#FFFfff, EndColorStr=#cccccc);
    text-decoration: none;
    padding: 2px 3px 2px 3px;
    height: 20px;
    text-align: center;
    color: #333333;
    font-size: 12px;
    border: 1px solid #BCDAF5;
    }
        </style>    <script language="javascript" type="text/javascript">
    <!--
    var CallTimeLen = "0";
    var begintime;
    var timer = null;
    function DoConverseCallTimer()
    {
     if(document.frmtimer.thzt.value == "")
     {
      //alert("请输入倒计时开始的秒数!");
     }
     else
     {
     
    //document.frmtimer.conversestart.disabled=true;
    var minute="0";
        var second="0";
    begintime = parseInt(begintime)+1;  //**在这里+1秒
    minute = parseInt(begintime/60);
    second = begintime%60;
    //document.frmtimer.passedtime.value=minute;
    if (minute>="10")
    {
    document.frmtimer.update.disabled=false;
    }
    if(minute<"20")
    {
    document.frmtimer.thzt.innerText =minute+"分"+second+"秒";
    }
    else
    {
    document.frmtimer.thzt.innerText =minute+"分"+second+"秒";
    return;
    }
    timer1 = window.setTimeout("DoConverseCallTimer()",1000);
    document.frmtimer.passedtime.value = begintime;
     }
    }function setBegintime()
    {
     begintime = document.frmtimer.thzt.value;
    }
    -->
        </script></head>
    <body>
        <form name="frmtimer" method="post" action="RecordTime.aspx?subid=1" id="frmtimer">
    <div>
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMTM4OTExNDMxDxYEHgVzdGFydAURMjAxMC0xMS0zIDk6MTU6MzIeCXN1YmplY3RpZAUBMRYCAgMPZBYCAgcPDxYCHgRUZXh0BQMxOTZkZGQo05um4rIeR4/OKKDAmzWVhCNa4g==" />
    </div><script type="text/javascript">
    <!--
    var theForm = document.forms['frmtimer'];
    if (!theForm) {
        theForm = document.frmtimer;
    }
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    // -->
    </script>
            <div>
                <table width="100%">
                    <tr>
                        <td>
                            <font color="red">注意:点击“更新学习时间”按钮的时间间隔为:大于10分钟小于20分钟,不在此范围则不能累计学习时间。</font></td>
                    </tr>
                    <tr>
                        <td>
                            <table height="100%" width="100%" bgcolor="#99ccff">
                                <tr>
                                    <td>
                                      <a href="#" id="A1" onclick="javascript:window.parent.location='../IndexPages/ProjectIndex.aspx'" class="txtbtn_gray">
                                            返回项目首页</a> &nbsp;&nbsp; </td>
                                    <td>
                                        <input name="txtUserId" type="text" value="24689" id="txtUserId" style="display: none;" />
                                        <input name="passedtime" type="hidden" id="passedtime" />
                                        已学时间:
                                        <span id="lblDurationCHN">196</span></td>
                                    <td>
                                        本次学习时间:<input name="thzt" type="text" id="thzt" onkeyup="value=value.replace(/[^\d]/g,'');setBegintime()" />
                                    </td>
                                    <td align="left">
                                        <input language="javascript" onclick="__doPostBack('update','')" name="update" type="button" id="update" title="每次学习10分钟后才允许更新学习时间" value="更新学习时间" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </div>        <script language="javascript" type="text/javascript">
    <!--
    document.frmtimer.thzt.value=0;
    document.frmtimer.thzt.onkeyup();
    document.frmtimer.thzt.disabled=true;
    document.frmtimer.update.disabled=true;
    DoConverseCallTimer();
    //-->
            </script>    
    <div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBQLauvnIBQKz8dy8BQKu+OnrDgKE6rWYAwLrjqj2BQUdA0vwPCygCR3iLVLSr2NxdWay" />
    </div></form>
    </body>
    </html>
      

  4.   

    系统需要登陆,登陆时有验证码的。
    点击那个按钮后提交表单,查看源文件得到的:<input language="javascript" onclick="__doPostBack('update','')" name="update" type="button" id="update" title="每次学习10分钟后才允许更新学习时间" value="更新学习时间" />
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head><title>
    Untitled Page
    </title>
        <style type="text/css">
        
    .txtbtn_gray
    {
    FILTER: progid:DXImageTransform.Microsoft.Gradient(GradientType=0, StartColorStr=#FFFfff, EndColorStr=#cccccc);
    text-decoration: none;
    padding: 2px 3px 2px 3px;
    height: 20px;
    text-align: center;
    color: #333333;
    font-size: 12px;
    border: 1px solid #BCDAF5;
    }
        </style>    <script language="javascript" type="text/javascript">
    <!--
    var CallTimeLen = "0";
    var begintime;
    var timer = null;
    function DoConverseCallTimer()
    {
     if(document.frmtimer.thzt.value == "")
     {
      //alert("请输入倒计时开始的秒数!");
     }
     else
     {
     
    //document.frmtimer.conversestart.disabled=true;
    var minute="0";
        var second="0";
    begintime = parseInt(begintime)+1;  //**在这里+1秒
    minute = parseInt(begintime/60);
    second = begintime%60;
    //document.frmtimer.passedtime.value=minute;
    if (minute>="10")
    {
    document.frmtimer.update.disabled=false;
    }
    if(minute<"20")
    {
    document.frmtimer.thzt.innerText =minute+"分"+second+"秒";
    }
    else
    {
    document.frmtimer.thzt.innerText =minute+"分"+second+"秒";
    return;
    }
    timer1 = window.setTimeout("DoConverseCallTimer()",1000);
    document.frmtimer.passedtime.value = begintime;
     }
    }function setBegintime()
    {
     begintime = document.frmtimer.thzt.value;
    }
    -->
        </script></head>
    <body>
        <form name="frmtimer" method="post" action="RecordTime.aspx?subid=1" id="frmtimer">
    <div>
    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    <input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
    <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJMTM4OTExNDMxDxYEHgVzdGFydAURMjAxMC0xMS0zIDk6MTU6MzIeCXN1YmplY3RpZAUBMRYCAgMPZBYCAgcPDxYCHgRUZXh0BQMxOTZkZGQo05um4rIeR4/OKKDAmzWVhCNa4g==" />
    </div><script type="text/javascript">
    <!--
    var theForm = document.forms['frmtimer'];
    if (!theForm) {
        theForm = document.frmtimer;
    }
    function __doPostBack(eventTarget, eventArgument) {
        if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
            theForm.__EVENTTARGET.value = eventTarget;
            theForm.__EVENTARGUMENT.value = eventArgument;
            theForm.submit();
        }
    }
    // -->
    </script>
            <div>
                <table width="100%">
                    <tr>
                        <td>
                            <font color="red">注意:点击“更新学习时间”按钮的时间间隔为:大于10分钟小于20分钟,不在此范围则不能累计学习时间。</font></td>
                    </tr>
                    <tr>
                        <td>
                            <table height="100%" width="100%" bgcolor="#99ccff">
                                <tr>
                                    <td>
                                      <a href="#" id="A1" onclick="javascript:window.parent.location='../IndexPages/ProjectIndex.aspx'" class="txtbtn_gray">
                                            返回项目首页</a> &nbsp;&nbsp; </td>
                                    <td>
                                        <input name="txtUserId" type="text" value="24689" id="txtUserId" style="display: none;" />
                                        <input name="passedtime" type="hidden" id="passedtime" />
                                        已学时间:
                                        <span id="lblDurationCHN">196</span></td>
                                    <td>
                                        本次学习时间:<input name="thzt" type="text" id="thzt" onkeyup="value=value.replace(/[^\d]/g,'');setBegintime()" />
                                    </td>
                                    <td align="left">
                                        <input language="javascript" onclick="__doPostBack('update','')" name="update" type="button" id="update" title="每次学习10分钟后才允许更新学习时间" value="更新学习时间" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
                                    </td>
                                </tr>
                            </table>
                        </td>
                    </tr>
                </table>
            </div>        <script language="javascript" type="text/javascript">
    <!--
    document.frmtimer.thzt.value=0;
    document.frmtimer.thzt.onkeyup();
    document.frmtimer.thzt.disabled=true;
    document.frmtimer.update.disabled=true;
    DoConverseCallTimer();
    //-->
            </script>    
    <div> <input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWBQLauvnIBQKz8dy8BQKu+OnrDgKE6rWYAwLrjqj2BQUdA0vwPCygCR3iLVLSr2NxdWay" />
    </div></form>
    </body>
    </html>
      

  5.   

    请搜索:httpunit
    基于HTML的JAVA测试类,你说的那些功能很容易实现!
      

  6.   

    这不是一个好的解决方案,建议将按钮调用的业务逻辑改写成webservice架构,然后写一个timer调用该webservice。这才是当前比较流行而且安全的解决方案。