首页 > 代码库 > 鑫合汇后台自动发标脚本

鑫合汇后台自动发标脚本

  因为测试跑流程要蛋疼的一直发标,so写了这个发标脚本。代码不短,但是实现很简单,直接模拟浏览器操作就行了。期间出现了一个小问题,就是第二页部分内容填不上去,研究了下,发现在执行填充语句时,dom还没加载出来,相当于display还是none的状态,然后加了个判断解决了。效果图如下:

  1 // ==UserScript==  2 // @name        useForXinhehui  3 // @namespace   http://www.cnblogs.com/bigbigsunrise/  4 // @description 鑫合汇自动发标脚本  5 // @include     http://bc-api-test.xinhehui.com/index.php/Financing/Product/add  6 // @include     http://test.xinhehui.com/Financing/Product/add  7 // @include     https://ywuat.xinhehui.com/Financing/Product/add  8 // @version     1.0   9 // @grant       none 10 // @author      bigbigsunrise 11 // ==/UserScript== 12  13  14 // --------------- 用户界面start --------------- // 15 var createContent = function() { 16   // 获取mainDiv 17   var mainDiv = document.getElementsByClassName("info_fill_step")[0]; 18   // 标名 19   var prjNameSpan = document.createElement("span"); 20   prjNameSpan.innerHTML = ‘<input type="text" id="txt1" />‘; 21   mainDiv.appendChild(prjNameSpan); 22   document.getElementById("txt1").value = "http://www.mamicode.com/发标测试0912"; 23  24   // start-time 25   var startTimeSpan = document.createElement("span"); 26   startTimeSpan.innerHTML = ‘<input type="text" id="txt2" />‘; 27   mainDiv.appendChild(startTimeSpan); 28   document.getElementById("txt2").value =http://www.mamicode.com/ getCurrentTime(); 29   // document.getElementById("txt2").value = "http://www.mamicode.com/2015-09-13 14:20:00"; 30   // document.getElementById("txt2").setAttribute("style", "position:‘left:20px‘"); 31   document.getElementById("txt2").setAttribute("style", "width:135px"); 32  33   // end-time 34   var endTimeSpan = document.createElement("span"); 35   endTimeSpan.innerHTML = ‘<input type="text" id="txt3"/>‘; 36   mainDiv.appendChild(endTimeSpan); 37   document.getElementById("txt3").value =http://www.mamicode.com/ getCurrentTime(); 38   // document.getElementById("txt3").value = "http://www.mamicode.com/2016-09-03 19:00:00"; 39  40   // 三种标的选择框 41   var BidTypeSpan = document.createElement("span"); 42   BidTypeSpan.innerHTML = "<select id=‘rpSet‘ style=‘width:60px‘> 43                              <option>日益升</option> 44                              <option>企益融</option> 45                              <option>聚优宝</option> 46                            </select>"; 47   mainDiv.appendChild(BidTypeSpan); 48  49   // 是否新客 50   var NewGuestSpan = document.createElement("span"); 51   NewGuestSpan.innerHTML = "<select id=‘rpSet2‘ style=‘width:40px‘> 52                               <option>否</option> 53                               <option>是</option> 54                             </select>"; 55   mainDiv.appendChild(NewGuestSpan); 56  57   // 发标按钮 58   var submitBtnSpan = document.createElement("span"); 59   submitBtnSpan.innerHTML = "<input type=‘button‘ id=‘btn‘ />"; 60   mainDiv.appendChild(submitBtnSpan); 61   document.getElementById("btn").value = "http://www.mamicode.com/发布"; 62  63   // button触发go方法 64   document.getElementById("btn").addEventListener("click", go); 65 }; 66 // --------------- 用户界面end --------------- // 67  68 // 日期格式 2014-09-02 19:00:00 69 var getCurrentTime = function() { 70   var now = new Date(); 71   var year = now.getFullYear(); 72   var month = now.getMonth() + 1;  // 真实的月份要加1 73   month < 10? month = ‘0‘ + month: month; 74   var date = now.getDate(); 75   date < 10? date = ‘0‘ + date: date; 76   var hour = now.getHours(); 77   hour < 10? hour = ‘0‘ + hour: hour; 78   var minute = now.getMinutes(); 79   minute < 10? minute = ‘0‘ + minute: minute; 80   var second = now.getSeconds(); 81   second < 10? second = ‘0‘ + second: second; 82   var str = year + "-" + month + "-" + date + " " + hour + ":" + minute + ":" + second; 83   return str; 84 }; 85  86 // firstPage填写 87 var firstPage = function() { 88   // 融资规模 89   document.getElementsByName(‘demand_amount‘)[0].value = http://www.mamicode.com/‘1‘; 90    91   // 期限 92   document.getElementsByName(‘time_limit‘)[0].value = http://www.mamicode.com/‘7‘; 93    94   // 期限(天、月) 95   var val = document.getElementById("rpSet").value; 96   if(val === ‘企益融‘ || val === ‘聚优宝‘) 97     document.getElementById("ui-multiselect-0-option-1").click(); 98  99   // 预期利率(日、月、年)100   document.getElementById("ui-multiselect-1-option-2").click();101 102   // 预期利率103   document.getElementsByName("rate")[0].value = "http://www.mamicode.com/10";104   105   // 保障性质106   // 还款方式107 108   // 融资开标时间109   document.getElementById("start_bid_time").value = http://www.mamicode.com/document.getElementById("txt2").value;110   111   // 融资截止时间112   document.getElementById("end_bid_time").value = http://www.mamicode.com/document.getElementById("txt3").value;113   114   // 产品类型115   var type = document.getElementById("rpSet").value;116   if(type === ‘日益升‘)117     document.getElementById("ui-multiselect-3-option-0").click();118   else if(type === ‘企益融‘)119     document.getElementById("ui-multiselect-3-option-1").click();120   else document.getElementById("ui-multiselect-3-option-2").click();121   122   // 投资起始金额123   // 最大投资金额124   // 投资递增金额125   // 支付方式126   // 借款人类型127 128   // 借款人129   document.getElementById("borrower").value = "http://www.mamicode.com/杭州日月礼盒包装有限公司";130 131   // 下一步按钮132   document.getElementsByClassName("btn_text step_next")[0].click();133 };134 135 // 日益升第二页填写136 var rys_nextPage = function() {137   setTimeout(function() {138     var res = document.getElementsByName("trade")[0].getAttribute("valid");139     if(res) {140       // 产品名称141       document.getElementsByName("prj_name")[0].value = http://www.mamicode.com/document.getElementById("txt1").value;142 143       // 起息日144       145       // 是否可能提前到期146       document.getElementById("dq1").checked = true;147 148       // 是否允许线下登记149       150       //资金用途151       document.getElementsByName("money_using")[0].value = http://www.mamicode.com/‘融资方为杭州日月礼盒包装有限公司,为1,需融资1万元,使用期限为7天。‘;152       153       // 还款来源154       document.getElementsByName("repay_origin")[0].value = "http://www.mamicode.com/test";155       156       // 保障措施 157       158       // 担保人159       document.getElementById("ui-multiselect-10-option-1").click();160 161       // 保障措施说明162       document.getElementsByName("addcredit_desc")[0].value = "http://www.mamicode.com/其他:[111]";163 164       // 是否新客项目165       var val = document.getElementById("rpSet2").value;166       if(val === "是") 167         document.getElementsByName("is_new")[0].checked = true;168 169       // 是否允许多次投标170       document.getElementById("is_multi_buy1").checked = true;171 172       // 所属行业173       document.getElementsByName("trade")[0].value = "http://www.mamicode.com/制造业";174 175       // 成立日期176       document.getElementsByName("fund_date")[0].value = "http://www.mamicode.com/2005";177 178       // 注册资本179       document.getElementsByName("register_capital")[0].value = "http://www.mamicode.com/200";180 181       // 主营业务182       document.getElementsByName("main_business")[0].value = "http://www.mamicode.com/生产、加工:纸质包装盒。 销售:包装材料;含下属分支机构经营范围。***";183       184       // 企业规模185       document.getElementById("ui-multiselect-30-option-1").click();186 187       // 性别188       document.getElementById("sex1").checked = true;189 190       // 年龄191       document.getElementsByName("age")[0].value = "http://www.mamicode.com/40";192 193       // 学历194       document.getElementById("ui-multiselect-31-option-4").click();195 196       // 上一年度销售收入197       // 婚姻状况198       // 户籍城市199       // 企业贷款卡状态200       // 企业信用状况201       // 投资资金转入账户202       // 适用产品203       // 发布机构204       // 发布按钮205     } else 206       rys_nextPage();207   }, 1000);  208 };209 210 // 企益融第二页填写211 var qyr_nextPage = function() {212   setTimeout(function() {213     var res = document.getElementsByName("trade")[0].getAttribute("valid");214     if(res) {215       // 产品名称216       document.getElementsByName("prj_name")[1].value = http://www.mamicode.com/document.getElementById("txt1").value;217 218       // 起息日219       220       // 是否可能提前到期221       document.getElementsByName("is_early")[2].checked = true;222 223       // 是否允许线下登记224       225       //资金用途226       document.getElementsByName("money_using")[1].value = http://www.mamicode.com/‘融资方为杭州日月礼盒包装有限公司,为1,需融资1万元,使用期限为7天。‘;227       228       // 还款来源229       document.getElementsByName("repay_origin")[1].value = "http://www.mamicode.com/test";230       231       // 保障措施 232       233       // 担保人234       document.getElementById("ui-multiselect-15-option-1").click();235 236       // 保障措施说明237       document.getElementsByName("addcredit_desc")[1].value = "http://www.mamicode.com/其他:[111]";238       239       // 是否新客项目240       var val = document.getElementById("rpSet2").value;241       if(val === "是") 242         document.getElementsByName("is_new")[2].checked = true;243       244       // 是否允许多次投标245       document.getElementsByName("is_multi_buy")[2].checked = true;246 247       // 所属行业248       document.getElementsByName("trade")[0].value = "http://www.mamicode.com/制造业";249 250       // 成立日期251       document.getElementsByName("fund_date")[0].value = "http://www.mamicode.com/2005";252 253       // 注册资本254       document.getElementsByName("register_capital")[0].value = "http://www.mamicode.com/200";255 256       // 主营业务257       document.getElementsByName("main_business")[0].value = "http://www.mamicode.com/生产、加工:纸质包装盒。 销售:包装材料;含下属分支机构经营范围。***";258       259       // 企业规模260       document.getElementById("ui-multiselect-33-option-1").click();261 262       // 性别263       document.getElementById("sex1").checked = true;264 265       // 年龄266       document.getElementsByName("age")[0].value = "http://www.mamicode.com/40";267 268       // 学历269       document.getElementById("ui-multiselect-34-option-4").click();270 271       // 是否可以转让272       document.getElementById("zr1").checked = true;273 274       // 发布按钮275     } else 276       qyr_nextPage();277   }, 1000);  278 };279 280 // 聚优宝第二页填写281 var jyb_nextPage = function() {282   setTimeout(function() {283     var a = document.getElementsByName("is_new")[8].parentNode.parentNode.parentNode;284     var res = window.getComputedStyle(a, null)[‘display‘];285 286     if(res !== ‘none‘) {287       // 产品名称288       document.getElementsByName("prj_name")[4].value = http://www.mamicode.com/document.getElementById("txt1").value;289 290       // 起息日291       292       // 是否可能提前到期293       document.getElementsByName("is_early")[8].checked = true;294 295       // 是否允许线下登记296       297       // 保障措施 298       299       // 担保人300       document.getElementById("ui-multiselect-27-option-1").click();301 302       // 保障措施说明303       document.getElementsByName("addcredit_desc")[4].value = "http://www.mamicode.com/其他:[111]";304       305       // 是否可以转让306       document.getElementsByName("is_transfer")[6].checked = true;307 308       // 投资资金转入账户309 310       // 托管机构311       document.getElementsByName("custodian")[0].value = "http://www.mamicode.com/test";312 313       // 托管机构网址314       document.getElementsByName("custodian_url")[0].value = "http://www.mamicode.com/test";315 316       // 本债券挂牌公告链接网址317       document.getElementsByName("announcement_url")[0].value = "http://www.mamicode.com/test";318 319       // 是否新客项目320       var val = document.getElementById("rpSet2").value;321       if(val === "是") {322         document.getElementsByName("is_new")[8].checked = true;323       }324 325       // 是否允许多次投标326       // 下一步按钮327       // document.getElementsByClassName("btn_text submit_prj")[0].click();328     } else 329       jyb_nextPage();330   }, 1000);  331 };332 333 var go = function() {334   firstPage();335   var type = document.getElementById("rpSet").value;336   if(type === ‘日益升‘)337     rys_nextPage();338   else if(type === ‘企益融‘)339     qyr_nextPage();340   else jyb_nextPage();341 };342 343 window.onload = function() {344   createContent();345 };

 

鑫合汇后台自动发标脚本