def generate(): user = config['users'][0] apis = app.getCpdailyApis(user) session = app.getSession(user, apis) params = app.getUnSignedTasks(session, apis) task = app.getDetailTask(session, params, apis) extraFields = task['extraField'] if len(extraFields) < 1: app.log('没有附加问题需要填写') exit(-1) defaults = [] for i in range(0, len(extraFields)): extraField = extraFields[i] extraFieldItems = extraField['extraFieldItems'] print('额外问题%d ' % (i + 1) + extraField['title']) default = {} one = {} for j in range(0, len(extraFieldItems)): extraFieldItem = extraFieldItems[j] print('\t%d ' % (j + 1) + extraFieldItem['content']) choose = int(input("请输入对应的序号:")) if choose < 1 or choose > len(extraFieldItems): app.log('输入错误') exit(-1) one['title'] = extraField['title'] one['value'] = extraFieldItems[choose - 1]['content'] if extraFieldItem['isOtherItems'] == 1: text = input('\t' + extraFieldItems[choose - 1]['content'] + ',请输入额外文本:') one['other'] = text default['default'] = one defaults.append(default) print('======================分隔线======================') print(yaml.dump(defaults, allow_unicode=True))
def generate(): params = app.getUnSignedTasks() task = app.getDetailTask(params) extraFields = task['extraField'] if len(extraFields) < 1: app.log('没有附加选项需要填写') exit(-1) defaults = [] for i in range(0, len(extraFields)): extraField = extraFields[i] extraFieldItems = extraField['extraFieldItems'] print('额外选项%d ' % (i + 1) + extraField['title']) default = {} one = {} for j in range(0, len(extraFieldItems)): extraFieldItem = extraFieldItems[j] print('\t%d ' % (j + 1) + extraFieldItem['content']) choose = int(input("请输入对应的序号:")) if choose < 1 or choose > len(extraFieldItems): app.log('输入错误') exit(-1) one['title'] = extraField['title'] one['value'] = extraFieldItems[choose - 1]['content'] default['default'] = one defaults.append(default) print('======================分隔线======================') print(yaml.dump(defaults, allow_unicode=True))
def generate(): config = app.config user = config['users'][0] apis = app.getCpdailyApis(user) session = app.getSession(user, apis['login-url']) print(app.queryForm(session, apis)) form = dict(app.queryForm(session, apis))['form'] app.log(form) defaults = [] sort = 1 for formItem in form: if formItem['isRequired'] == 1: default = {} one = {} default['title'] = formItem['title'] default['type'] = formItem['fieldType'] print('问题%d:' % sort + default['title']) if default['type'] == 1: default['value'] = input("请输入文本:") if default['type'] == 2: fieldItems = formItem['fieldItems'] num = 1 for fieldItem in fieldItems: print('\t%d ' % num + fieldItem['content']) num += 1 choose = int(input("请输入序号:")) if choose < 1 or choose > num: print('输入错误,请重新执行此脚本') exit(-1) default['value'] = fieldItems[choose - 1]['content'] if default['type'] == 3: fieldItems = formItem['fieldItems'] num = 1 for fieldItem in fieldItems: print('\t%d ' % num + fieldItem['content']) num += 1 chooses = list(map(int, input('请输入序号(可输入多个,请用空格隔开):').split())) default['value'] = '' for i in range(0, len(chooses)): choose = chooses[i] if choose < 1 or choose > num: print('输入错误,请重新执行此脚本') exit(-1) if i != len(chooses) - 1: default['value'] += fieldItems[choose - 1]['content'] + ',' else: default['value'] += fieldItems[choose - 1]['content'] if default['type'] == 4: default['value'] = input("请输入图片名称:") one['default'] = default defaults.append(one) sort += 1 print('======================分隔线======================') print(yaml.dump(defaults, allow_unicode=True))
def main(): while True: app.log('脚本开始执行。。。') cookies = app.getCookies() if str(cookies) != 'None': app.log('模拟登陆成功。。。') app.log('正在查询最新待填写问卷。。。') params = app.queryForm(cookies) if str(params) == 'None': app.log('获取最新待填写问卷失败,可能是辅导员还没有发布。。。') app.log('无需重启脚本,1小时后,脚本将自动重新尝试。。。') time.sleep(60 * 60 * 1) continue app.log('查询最新待填写问卷成功。。。') app.log('正在自动填写问卷。。。') form = app.fillForm(params['form']) app.log('填写问卷成功。。。') app.log('正在自动提交。。。') msg = app.submitForm(params['formWid'], app.config['user']['address'], params['collectWid'], params['schoolTaskWid'], form, cookies) if msg == 'SUCCESS': app.log('自动提交成功!24小时后,脚本将再次自动提交。。。') time.sleep(24 * 60 * 60) elif msg == '该收集已填写无需再次填写': app.log('今日已提交!24小时后,脚本将再次自动提交。。。') app.sendMessage() time.sleep(24 * 60 * 60) else: app.log('自动提交失败。。。') app.log('错误是' + msg) exit(-1) else: app.log('模拟登陆失败。。。') app.log('原因可能是学号或密码错误,请检查配置后,重启脚本。。。') exit(-1)