码迷,mamicode.com
首页 > 其他好文 > 详细

鑫合汇后台自动发标脚本

时间:2014-10-21 17:38:01      阅读:211      评论:0      收藏:0      [点我收藏+]

标签:des   style   blog   http   color   io   os   ar   使用   

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

bubuko.com,布布扣

  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 = "发标测试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 = getCurrentTime();
 29   // document.getElementById("txt2").value = "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 = getCurrentTime();
 38   // document.getElementById("txt3").value = "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 = "发布";
 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 = ‘1‘;
 90   
 91   // 期限
 92   document.getElementsByName(‘time_limit‘)[0].value = ‘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 = "10";
104   
105   // 保障性质
106   // 还款方式
107 
108   // 融资开标时间
109   document.getElementById("start_bid_time").value = document.getElementById("txt2").value;
110   
111   // 融资截止时间
112   document.getElementById("end_bid_time").value = 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 = "杭州日月礼盒包装有限公司";
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 = 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 = ‘融资方为杭州日月礼盒包装有限公司,为1,需融资1万元,使用期限为7天。‘;
152       
153       // 还款来源
154       document.getElementsByName("repay_origin")[0].value = "test";
155       
156       // 保障措施 
157       
158       // 担保人
159       document.getElementById("ui-multiselect-10-option-1").click();
160 
161       // 保障措施说明
162       document.getElementsByName("addcredit_desc")[0].value = "其他:[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 = "制造业";
174 
175       // 成立日期
176       document.getElementsByName("fund_date")[0].value = "2005";
177 
178       // 注册资本
179       document.getElementsByName("register_capital")[0].value = "200";
180 
181       // 主营业务
182       document.getElementsByName("main_business")[0].value = "生产、加工:纸质包装盒。 销售:包装材料;含下属分支机构经营范围。***";
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 = "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 = 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 = ‘融资方为杭州日月礼盒包装有限公司,为1,需融资1万元,使用期限为7天。‘;
227       
228       // 还款来源
229       document.getElementsByName("repay_origin")[1].value = "test";
230       
231       // 保障措施 
232       
233       // 担保人
234       document.getElementById("ui-multiselect-15-option-1").click();
235 
236       // 保障措施说明
237       document.getElementsByName("addcredit_desc")[1].value = "其他:[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 = "制造业";
249 
250       // 成立日期
251       document.getElementsByName("fund_date")[0].value = "2005";
252 
253       // 注册资本
254       document.getElementsByName("register_capital")[0].value = "200";
255 
256       // 主营业务
257       document.getElementsByName("main_business")[0].value = "生产、加工:纸质包装盒。 销售:包装材料;含下属分支机构经营范围。***";
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 = "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 = 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 = "其他:[111]";
304       
305       // 是否可以转让
306       document.getElementsByName("is_transfer")[6].checked = true;
307 
308       // 投资资金转入账户
309 
310       // 托管机构
311       document.getElementsByName("custodian")[0].value = "test";
312 
313       // 托管机构网址
314       document.getElementsByName("custodian_url")[0].value = "test";
315 
316       // 本债券挂牌公告链接网址
317       document.getElementsByName("announcement_url")[0].value = "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 };

 

鑫合汇后台自动发标脚本

标签:des   style   blog   http   color   io   os   ar   使用   

原文地址:http://www.cnblogs.com/bigbigsunrise/p/4040706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!