鑫合汇后台自动发标脚本

  因为测试跑流程要蛋疼的一直发标,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 = "发标测试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 };
时间: 2024-11-03 05:34:23

鑫合汇后台自动发标脚本的相关文章

mysql自动安装脚本

为适应自己工作习惯和需要,花一点时间写了一个mysql自动安装脚本,供大家参考学习. 注意: 1.需要先安装cmake 2.数据库版本需要在第二步安装mysql时修改 3.该脚本是以root用户安装并启动 脚本内容如下: ######################################################################## #mysql自动安装脚本,其中变量/mysql_v_dir/和/port/可根据实际需要修改    # #执行脚本命令:sh mys

ipvsadm+keepalived+inotify-tools自动安装脚本

#!/bin/bash # # #this is install keepalived+lvs-DR # # tar_dir=/usr/src configure_yum() { echo "[rhel-local]">/etc/yum.repos.d/rhel-local.repo echo "baseurl=file:///media/Server">>/etc/yum.repos.d/rhel-local.repo echo "en

实战:INNOBACKUPEX for mysql 5.6自动还原脚本

#!/bin/sh # # 使用方法: # ./restore.sh /你备份文件的全路径 #[email protected] INNOBACKUPEX=innobackupex INNOBACKUPEX_PATH=/usr/bin/$INNOBACKUPEX TMP_LOG="/var/log/restore.$$.log" MY_CNF=/usr/local/mysql/my.cnf BACKUP_DIR=/backup # 你的备份主目录 FULLBACKUP_DIR=$BAC

VBS调用windows api函数(postmessage)实现后台发送按键脚本

'=========================================================================='' VBScript Source File -- Created with SAPIEN Technologies PrimalScript 4.0'' NAME: '' AUTHOR: Microsoft , Microsoft' DATE : 2014/8/10'' COMMENT: ''===================定义变量,注册

linux apache 自动监护脚本

1 首先安装curl yum install curl 2 编写shell vi restart_apache.sh 写入一下内容 #!/bin/bashURL="http://127.0.0.1/"curlit(){curl --connect-timeout 35 --max-time 40 --head --silent "$URL" | grep '200'} doit(){if ! curlit; thensleep 20top -n 1 -b >&

代理自动配置脚本

iefile://d:/PersonalSet/agent.pac火狐file:///d:/PersonalSet/agent.pac function FindProxyForURL(url, host){ if (isPlainHostName(host)) {     return "DIRECT"; } if (isInNet(host, "10.0.0.0", "255.0.0.0")) {     return "DIREC

linux下PXE无人值守环境自动安装脚本

当时单位要安装一套linux的PXE无人值守装机程序,装完后花了九牛二虎之力写了一个自动安装脚本,以便今后安全方便,不过后来就没怎么用了,甚至都有些淡忘了,哈哈,分享出来,有研究PXE自动安装的可以看看,在使用的时候里面的ip地址要换掉的. #!/bin/sh #writer:gaolixu yum -y install dhcp tftp-server vsftpd syslinux xinetd if ! service dhcpd status ;then ############### 

自动交互脚本之expect

一.Expect简介 在远程服务器执行某项任务,这是最正常不过了,如何有效自动的执行呢?这里介绍自动交互脚本expect的使用. Expect是一个简单的工具语言,功能就是进行自动化的人机交互.它的作者对Expect的定义:是一个实现自动交互功能的软件套件(a software suite for automating interactive tools),使用expect,它能帮助我们在合适的情景下进行合适的交互. Expect是一种能够按照脚本内容里面设定的方式与交互式程序进行"会话&quo

windows下oracle数据库自动备份脚本

1.根据日期自动生成 Oracle 备份文件 @echo off echo 正在备份Oracle数据库,请稍等...... exp userid='用户名/密码@SID' file=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.dmp log=D:\bak\res_%date:~0,4%%date:~5,2%%date:~8,2%.log owner=res echo 任务完成! 2.根据日期时间分秒自动生成 Oracle 备份文件 @echo off