def main(args): if args.mode == 'a': #获客查询→一体化进件 browser, result = getCustomers(args) print(result) if '需要注册' in result: args.all = 'y' browser, result = mainYTH(args, bro=browser) elif args.mode == 'b': args.all = 'n' browser, result = mainH5(args) browser, result = getCustomers(args, bro=browser) print(result) browser = loginH5(username=args.loginID, passwd=newpassword, env=args.env, fillLoginID=0, bro=browser) #修改后的密码登陆 JBC = True if args.daddy == '2' and args.legalName == '杨光杰' else False browser, result = AutoFillH5(loginId=args.loginID, password=newpassword, bankCode=args.legal_bank, env=args.env, change=change, JBC=JBC, bro=browser) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET IsApplicate=1 WHERE LoginID='{args.loginID}'" ) elif args.mode == 'c': args.all = 'y' browser, result = mainYTH(args) browser, result = getCustomers(args, bro=browser) # print(result) return browser, result
def main(args, **bro): try: global newpassword, paypassword browser, result = checkFace( uploadPic( args, fillLegalInfo( args, fillCompanyInfo(args, step2(args, step1(args, **bro)))))) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET IsReview=0,IsApplicate=1 WHERE LoginID='{args.loginID}'" ) if args.all == 'y': # browser=bbossCheck(args.loginID,env=args.env,op='3',login=True,bro=browser) out('大总管审核中……\t\t\t') auditSta = 3 if args.auditSta else 2 bbCheckData = bbossCheck(args.loginID, env=args.env, op='3', auditSta=auditSta, path=args.path) if bbCheckData['auditSta'] == '审核通过': out('大总管审核通过……\t\t\t') else: print('大总管', bbCheckData['auditSta'], bbCheckData['respCode'], bbCheckData['respMsg']) sys.exit() if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET IsReview=1 WHERE LoginID='{args.loginID}'" ) if args.env in ['k', 'c']: # browser,om_cookie=loginOM(env=args.env,bro=browser) out('正在获取初始密码...') password = getOMpassword(args.loginID, args.legalTel, env=args.env, path=args.path) #获取初始密码 out('正在获取商户号...') merchantNum = getMerchantNum(args.loginID, env=args.env, path=args.path) #获取商户号 if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET MerchantNum='{merchantNum}' WHERE loginID='{args.loginID}'" ) elif args.env in ['p', 's']: if args.robot: sendInput('请发送初始密码,格式:初始密码 xxxx') password = getInput('初始密码') else: password = input('输入初始密码后按回车,退出请按"q":') if password == 'q': browser.quit() sys.exit(0) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET InitialPWD='{password}' WHERE loginID='{args.loginID}'" ) else: save_file(f'初始密码: {password}') print(f'初始密码: {password}\t\t\t\t') if args.robot: saveFileRobot(f'初始密码: {password}\t\t') browser = loginH5(username=args.loginID, passwd=password, env=args.env, menhuPath=args.path, bro=browser) #初始密码登陆 browser, newpassword = changePasswordH5(loginId=args.loginID, password=password, newpassword=newpassword, paypassword=paypassword, env=args.env, menhuPath=args.path, bro=browser) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET Password='******',Payword='{paypassword}' WHERE LoginID='{args.loginID}'" ) else: save_file(f'登陆密码: {newpassword}\t支付密码: {paypassword}') print(f'登陆密码: {newpassword}\t支付密码: {paypassword}\t\t') if args.robot: saveFileRobot(f'登陆密码: {newpassword}\t支付密码: {paypassword}\t\t') return browser, result except Exception as err: reason = getErrReason(browser) if not reason: reason = err print('开户失败!原因:', reason) sys.exit()
def step3(args, browser): # browser=waitTo(browser,SCENSEE,way='id',name='btloginKey',operate='click') time.sleep(3) # os.system('pause') browser.quit() browser = loginH5(username=args.loginID, passwd=newpassword, env=args.env, menhuPath=args.path, phoneNumber=args.legalTel) time.sleep(3) browser = waitTo(browser, SCENSEE, way='class', name='paramsBtn', operate='click') #点击立即开通 regTypeDic = { '1': '普通企业--普通执照', '2': '普通企业--三证合一', '3': '个体工商--普通执照', '4': '个体工商--三证合一' } time.sleep(2) browser = waitTo(browser, SCENSEE, way='xpath', name='//*[@id="id2"]/div[2]', operate='click') #点击商户类型 time.sleep(0.5) if args.type == '4': browser.find_element_by_xpath( '/html/body/div[3]/div[2]/div/div/div[2]/div/div/ul/li[2]').click( ) time.sleep(0.5) browser.find_element_by_xpath( f'/html/body/div[3]/div[2]/div/div/div[2]/div/div/ul/li[{args.type}]' ).click() time.sleep(0.5) browser.find_element_by_class_name('cube-picker-confirm').click() #点击确定 time.sleep(1) if args.type in '13': xpath = '//*[@id="id3"]/div[2]/div[1]/div/input' elif args.type in '24': xpath = '//*[@id="id4"]/div[2]/div[1]/div/input' browser.find_element_by_xpath(xpath).clear() browser.find_element_by_xpath(xpath).send_keys(args.precreditID) browser.find_element_by_xpath( '//*[@id="id5"]/div[2]/div[1]/div/input').send_keys(args.legalName) browser.find_element_by_xpath( '//*[@id="id6"]/div[2]/div[1]/div/input').send_keys(args.legalID) browser.find_element_by_class_name('submit').click() #点击提交 if saveToMysql: mysqlOpt( f"""INSERT INTO registerinfo (CreateDate,Environmental,RegistTypes,LoginID) VALUES ("{time.strftime('%Y-%m-%d %X',time.localtime())}","{envDict[args.env]}","{regTypeDic[args.type]}","{args.loginID}")""" ) else: save_file(f"{regTypeDic[args.type]}\n登录号: {args.loginID}") print(f"{regTypeDic[args.type]}\n登录号: {args.loginID}") if args.robot: saveFileRobot(f"{regTypeDic[args.type]}\n登录号: {args.loginID}") time.sleep(5) browser = waitTo(browser, SCENSEE, way='tag_name', name='input', operate='click') #点击立即激活 browser = waitTo(browser, SCENSEE, way='xpath', name='//*[@id="id1"]/div[2]', operate='click') #点击所属省份 time.sleep(0.5) browser.find_element_by_class_name('cube-picker-confirm').click() #点击确定 time.sleep(0.5) browser.find_element_by_tag_name('button').click() #点击下一步 return browser
continue else: print('新增操作员失败!') os.system('pause') time.sleep(3) def getParseAddOperator(): parser=argparse.ArgumentParser(description='程序功能:\n 新增操作员',formatter_class=argparse.RawTextHelpFormatter) parser.add_argument('-e',dest='env',help="运行环境(默认 c):\n k: 开发(46)环境\n c: 测试环境\n p: 准生产环境\n s: 生产环境",required=False,default='c',choices=['k','c','p','s']) parser.add_argument("-u",dest='username',help="登录号",required=True) parser.add_argument("-p",dest='password',help="登陆密码(默认 aaa111)",required=False,default='aaa111') parser.add_argument("-r",dest='newRole',help="是否需要新增角色(默认 1):\n 0: 否\n 1: 是",required=False,default='1',choices=[0,1],type=int) args=parser.parse_args() return args if __name__ == '__main__': args=getParseAddOperator() # args.env=args.env if args.env else 'c' # args.password=args.password if args.password else 'aaa111' # args.newRole=int(args.newRole) if args.newRole else 1 browser=login(username=args.username,passwd=args.password,env=args.env) opLoginID=f'{args.username}b' browser,initialPWD=addOperator(opLoginID=opLoginID,env=args.env,newRole=args.newRole,bro=browser) print(f'操作员登录号: {opLoginID}\t初始密码:{initialPWD}') newpassword='******';paypassword='******' if args.env=='k':#H5没有开发环境 browser=changePassword(opLoginID,initialPWD,newpassword,paypassword,env=args.env,bro=browser) else:#不禁止加载图片则可以去H5页面修改密码 browser=loginH5(username=opLoginID,passwd=initialPWD,env=args.env,bro=browser)#初始密码登陆 browser,newpassword=changePasswordH5(loginId=opLoginID,password=initialPWD,newpassword=newpassword,paypassword=paypassword,env=args.env,bro=browser) print(f'操作员登陆密码: {newpassword}\t操作员支付密码: {paypassword}')
def main(**bro): try: global newpassword,paypassword,manHead,liaHead,browserFund if args.getRegUrl: longUrl=f"{domain}/bestpay/register?{encryptRegData(company.loginID,time.strftime('%Y%m%d%H%M%S',time.localtime()),platCode)}" shortUrl=getShortUrl(longUrl) if shortUrl: print(shortUrl) else: print(longUrl) print() sys.exit() if bro: browser=bro['bro'] browser.get(f"{domain}/bestpay/register?{encryptRegData(company.loginID,time.strftime('%Y%m%d%H%M%S',time.localtime()),platCode,company.email)}") else: browser=openurl(f"{domain}/bestpay/register?{encryptRegData(company.loginID,time.strftime('%Y%m%d%H%M%S',time.localtime()),platCode,company.email)}") if args.mode=='b': print('-'*50,'注册:',gradeDic[args.grade],'-'*50) if args.robot:saveFileRobot(f"{'-'*50} 注册:{gradeDic[args.grade]} {'-'*50}") print(f"PC {envDict[args.env]} {time.strftime('%Y-%m-%d %X',time.localtime())}") if args.robot:saveFileRobot(f"PC {envDict[args.env]} {time.strftime('%Y-%m-%d %X',time.localtime())}") if saveToMysql:mysqlOpt(f"""INSERT INTO registerinfo (CreateDate,Environmental,Grade,loginID,RegistTypes) VALUES ("{time.strftime('%Y-%m-%d %X',time.localtime())}","PC {envDict[args.env]}","{gradeDic[args.grade]}","{company.loginID}","{regTypeDic[args.type]}")""") else:save_file(f'登录号: {company.loginID}\n{regTypeDic[args.type]}') print(f'登录号: {company.loginID}\n{regTypeDic[args.type]}') if args.robot:saveFileRobot(f'登录号: {company.loginID}\n{regTypeDic[args.type]}') # if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET RegistTypes='{regTypeDic[args.type]}' WHERE LoginID='{company.loginID}'") # else:save_file(regTypeDic[args.type]) # print(regTypeDic[args.type]) if args.type=='1':browser=fillbankinfor(postpic0(beneficiaryInfo(legalinformation(Putong(browser)))),0) elif args.type=='2':browser=fillbankinfor(postpic1(beneficiaryInfo(legalinformation(Sanzhengheyi(browser)))),1) elif args.type=='3':browser=fillbankinfor(postpic2(beneficiaryInfo(legalinformation(Getigongshanghu(browser)))),2) elif args.type=='4':browser=fillbankinfor(postpic3(Geti(browser)),3) if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET IsReview=0,IsPreCredit=0,IsApplicate=0 WHERE LoginID='{company.loginID}'") if args.noCheck:#小CEO批量模式 # browser.quit() return '提交完成',browser if args.robot:saveFileRobot('已提交开户申请,下一步大总管审核……') # browser=bbossCheck(company.loginID,env=args.env,bro=browser) out('大总管审核中……\t\t\t') auditSta=3 if args.auditSta else 2 bbCheckData=bbossCheck(company.loginID,env=args.env,op='1',auditSta=auditSta,path=args.path) if bbCheckData['auditSta']=='审核通过': out('大总管审核通过……\t\t\t') else: print('大总管',bbCheckData['auditSta'],bbCheckData['respCode'],bbCheckData['respMsg']) sys.exit() if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET IsReview=1 WHERE LoginID='{company.loginID}'") if args.robot:saveFileRobot('大总管已审核,下一步获取初始密码……') if args.env in ['k','c']: # browser,om_cookie=loginOM(env=args.env,bro=browser) out('正在获取初始密码...') password=getOMpassword(company.loginID,company.legalTel,env=args.env,path=args.path)#获取初始密码 out('正在获取商户号...') merchantNum=getMerchantNum(company.loginID,env=args.env,path=args.path)#获取商户号 if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET MerchantNum='{merchantNum}' WHERE LoginID='{company.loginID}'") elif args.env in ['p','s']: if args.robot: sendInput('请发送初始密码,格式:初始密码 xxxx') password=getInput('初始密码') else: password=input('输入初始密码后按回车,退出请按"q":') if password=='q': browser.quit() sys.exit(0) if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET InitialPWD='{password}' WHERE LoginID='{company.loginID}'") else:save_file(f'初始密码: {password}') print(f'初始密码: {password}\t\t\t\t') if args.robot:saveFileRobot(f'初始密码: {password}') if noPic or args.env=='k':#H5没有开发环境 # if 1==1: browser=changePassword(company.loginID,password,newpassword,paypassword,env=args.env,bro=browser) else:#不禁止加载图片则可以去H5页面修改密码 browser1=loginH5(username=company.loginID,passwd=password,env=args.env,menhuPath=args.path)#初始密码登陆 browser1,newpassword=changePasswordH5(loginId=company.loginID,password=password,newpassword=newpassword,paypassword=paypassword,env=args.env,menhuPath=args.path,bro=browser1) browser1.quit() if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET Password='******',Payword='{paypassword}' WHERE LoginID='{company.loginID}'") else:save_file(f'登陆密码: {newpassword}\t支付密码: {paypassword}') print(f'登陆密码: {newpassword}\t支付密码: {paypassword}') if args.robot:saveFileRobot(f'登陆密码: {newpassword}\t支付密码: {paypassword}') result='密码修改完成!' creditTypeDic={'1':'佣金','2':'采购','3':'小CEO',} if args.mode=='a': if args.precredit=='y': creditHead=0 for creditType in args.creditType: out(f'正在导入预授信,类型 {creditTypeDic[creditType]}...') save_excel(company.BLRN,company.companyName,creditType,args.daddy) creditResult,creditHead=uploadExcel(idlist=[company.BLRN],env=args.env,head=creditHead,menhuPath=args.path) addWhiteList(args.env,creditHead,company,args.daddy,args.robot) if not creditResult:#预授信 if args.robot: print(f'导入预授信失败,类型 {creditTypeDic[creditType]}') sys.exit() else: s=input(f'导入预授信失败,类型 {creditTypeDic[creditType]} ,请手动完成后按回车,退出请按"q":') if s=='q': browser.quit() sys.exit(0) else: if args.robot: sendInput('请手动导入预授信后发送 已完成预授信') getInput('已完成预授信') else: s=input('请手动完成预授信后按回车,退出请按"q":') if s=='q': browser.quit() sys.exit(0) if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET IsPreCredit=1 WHERE LoginID='{company.loginID}'") else:save_file('已完成预授信') print('已完成预授信\t\t') if args.robot:saveFileRobot('已完成预授信\t\t') if args.all=='y': JBC=True if args.daddy=='2' else False browser,result=AutoFill(company.loginID,newpassword,env=args.env,bankCode=company.bankCode,oFill=args.overfill,pLegalID=company.getPlegalID(company.legalID),JBC=JBC,robot=args.robot,path=args.path,bro=login(company.loginID,newpassword,env=args.env,menhuPath=args.path,bro=browser)) if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET IsApplicate=1 WHERE LoginID='{company.loginID}'") else:save_file(f"完成! {time.strftime('%Y-%m-%d %X',time.localtime())}") browser.quit() return f'{result}\t\t\t\t' elif args.mode=='b': browser=login(username=company.loginID,passwd=newpassword,env=args.env,menhuPath=args.path,bro=browser)#改完密码后登陆 browser,initialPWD=addOperator(opLoginID=company.opLoginID,env=args.env,newRole=1,bro=browser)#新增操作员 if saveToMysql:mysqlOpt(f"""INSERT INTO registerinfo (CreateDate,Environmental,Grade,loginID,RegistTypes,InitialPWD) VALUES ("{time.strftime('%Y-%m-%d %X',time.localtime())}","PC {envDict[args.env]}","{gradeDic[args.grade]}","{company.opLoginID}","操作员","{initialPWD}")""") else:save_file(f'操作员登录号: {company.opLoginID}') print(f'操作员登录号: {company.opLoginID}\t初始密码:{initialPWD}') if args.robot:saveFileRobot(f'操作员登录号: {company.opLoginID}\t初始密码:{initialPWD}') if noPic or args.env=='k':#H5没有开发环境 browser=changePassword(company.opLoginID,initialPWD,newpassword,paypassword,env=args.env,bro=browser) else:#不禁止加载图片则可以去H5页面修改密码 # browser.quit() browser1=loginH5(username=company.opLoginID,passwd=initialPWD,env=args.env,menhuPath=args.path)#初始密码登陆 browser1,newpassword=changePasswordH5(loginId=company.opLoginID,password=initialPWD,newpassword=newpassword,paypassword=paypassword,env=args.env,menhuPath=args.path,bro=browser1) browser1.quit() if saveToMysql:mysqlOpt(f"UPDATE registerinfo SET Password='******',Payword='{paypassword}' WHERE LoginID='{company.opLoginID}'") else:save_file(f'操作员登陆密码: {newpassword}\t操作员支付密码: {paypassword}') print(f'操作员登陆密码: {newpassword}\t操作员支付密码: {paypassword}') if args.robot:saveFileRobot(f'操作员登陆密码: {newpassword}\t操作员支付密码: {paypassword}') #电子凭证授信 company.cusType='CORE' if args.grade=='1' else 'CUSTOMER' browser.maximize_window() browser,result,manHead,liaHead=AutoFillElect(company=company,renewal='n',reFill='y',passwd=newpassword,bro=browser) print(f'{result}\t\t\t\t') if args.robot:saveFileRobot(result) # 翼融平台客户录入 browser.find_element_by_id('login').click()#登出 if browserFund: browserFund=entryCustInfo(company=company,jump=0,needLogin=0,bro=browserFund)#换资金方经办员录入客户信息 else: browserFund=entryCustInfo(company=company,jump=1,needLogin=1)#换资金方经办员录入客户信息 print('翼融平台客户录入成功!\t\t\t\t\t\n') if args.robot:saveFileRobot('翼融平台客户录入成功!') return browser,browserFund except Exception as err: reason=getErrReason(browser) if not reason:reason=err print('开户失败!原因:',reason) sys.exit()
def main(args, **bro): try: global newpassword, paypassword browser = uploadPic( args, fillLegalInfo( args, fillCompanyInfo(args, step3(args, step2(args, step1(args, **bro)))))) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET IsReview=0,IsPreCredit=0,IsApplicate=0 WHERE LoginID='{args.loginID}'" ) if args.robot: saveFileRobot('已提交开户申请,下一步大总管审核') # browser=bbossCheck(args.loginID,env=args.env,op='3',bro=browser) out('大总管审核中……\t\t\t') auditSta = 3 if args.auditSta else 2 bbCheckData = bbossCheck(args.loginID, env=args.env, op='3', auditSta=auditSta, path=args.path) # print("pathH5:",args.path) if bbCheckData['auditSta'] == '审核通过': out('大总管审核通过……\t\t\t') else: print('大总管', bbCheckData['auditSta'], bbCheckData['respCode'], bbCheckData['respMsg']) sys.exit() if args.robot: saveFileRobot('大总管审核完成,下一步预授信') if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET IsReview=1 WHERE LoginID='{args.loginID}'" ) if args.doPrecredit: if args.manual == 'y': creditHead = 0 creditTypeDic = { '1': '佣金', '2': '采购', '3': '小CEO', } for creditType in args.creditType: out(f'正在导入预授信,类型 {creditTypeDic[creditType]}...') save_excel(args.precreditID, args.companyName, creditType, args.daddy) creditResult, creditHead = uploadExcel( idlist=[company.BLRN], env=args.env, head=creditHead, menhuPath=args.path) addWhiteList(args.env, creditHead, company, args.daddy, args.robot) if not creditResult: #预授信 if args.robot: print(f'导入预授信失败,类型 {creditTypeDic[creditType]}') sys.exit() else: s = input( f'导入预授信失败,类型 {creditTypeDic[creditType]} ,请手动完成后按回车,退出请按"q":' ) if s == 'q': browser.quit() sys.exit(0) else: if args.robot: sendInput('请手动导入预授信后发送 已完成预授信') getInput('已完成预授信') else: s = input('请手动完成预授信后按回车,退出请按"q":') if s == 'q': browser.quit() sys.exit(0) print('已完成预授信\t\t') if args.robot: saveFileRobot('已完成预授信,下一步获取初始密码') if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET IsPreCredit=1 WHERE LoginID='{args.loginID}'" ) else: save_file('已完成预授信') if args.env == 'c': # browser,om_cookie=loginOM(env=args.env,bro=browser) out('正在获取初始密码...') password = getOMpassword(args.loginID, args.legalTel, env=args.env, path=args.path) out('正在获取商户号...') merchantNum = getMerchantNum(args.loginID, env=args.env, path=args.path) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET MerchantNum='{merchantNum}',InitialPWD='{password}' WHERE LoginID='{args.loginID}'" ) else: save_file(f'初始密码: {password}') elif args.env in ['p', 's']: if args.robot: sendInput('请发送初始密码,格式:初始密码 xxxx') password = getInput('初始密码') else: password = input('输入初始密码后按回车,退出请按"q":') if password == 'q': browser.quit() sys.exit(0) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET InitialPWD='{password}' WHERE LoginID='{args.loginID}'" ) else: save_file(f'初始密码: {password}') print(f'初始密码: {password}\t\t\t\t') if args.robot: saveFileRobot(f'初始密码: {password}') browser = loginH5(username=args.loginID, passwd=password, env=args.env, menhuPath=args.path, bro=browser) #初始密码登陆 browser, newpassword = changePasswordH5(loginId=args.loginID, password=password, newpassword=newpassword, paypassword=paypassword, env=args.env, menhuPath=args.path, bro=browser) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET Password='******',Payword='{paypassword}' WHERE LoginID='{args.loginID}'" ) else: save_file(f'登陆密码: {newpassword}\t支付密码: {paypassword}') print(f'登陆密码: {newpassword}\t支付密码: {paypassword}\t\t') if args.robot: saveFileRobot(f'登陆密码: {newpassword}\t支付密码: {paypassword}\t\t') result = '密码修改完成!' if args.all in ['y', None, 'Y']: browser = loginH5(username=args.loginID, passwd=newpassword, env=args.env, fillLoginID=0, menhuPath=args.path, bro=browser) #修改后的密码登陆 JBC = True if args.daddy == '2' else False browser, result = AutoFillH5(loginId=args.loginID, password=newpassword, bankCode=args.legal_bank, env=args.env, change=change, pLegalID=args.pLegalID, oFill=args.overfill, JBC=JBC, robot=args.robot, bro=browser) if saveToMysql: mysqlOpt( f"UPDATE registerinfo SET IsApplicate=1 WHERE LoginID='{args.loginID}'" ) # browser.quit() return browser, result except Exception as err: reason = getErrReason(browser) if not reason: reason = err print('开户失败!原因:', reason) sys.exit()
def AutoFillH5(loginId, password, bankCode, env='c', change=0, pLegalID=0, oFill=0, JBC=0, robot=0, menhuPath='', **bro): global div div = 4 if bro else 5 if robot: saveFileRobot('H5开始进件') browser = loginH5( username=loginId, passwd=password, env=env, menhuPath=menhuPath) if not bro else bro['bro'] # time.sleep(1) try: if browser.current_url.endswith('changeloginpwd'): browser, newpassword = changePasswordH5(password=password, env=env, menhuPath=menhuPath, bro=browser) browser = loginH5(username=loginId, passwd=newpassword, env=env, menhuPath=menhuPath, bro=browser) else: pass except SCENSEE: pass time.sleep(3) # browser.get(f"{H5domainDic[env]}/subapps/bpep-credit-h5/index.html#/baitiaoagreement")#点击立即申请 browser = waitTo(browser, (SCEECIE, SCENSEE, SCEWDE), way='class', name='apply', operate='click') time.sleep(3) try: browser.find_element_by_xpath( '/html/body/div[1]/div/section/main/div/div[2]/button').click( ) #点击同意协议 time.sleep(1) except SCENSEE: pass # browser=waitTo(browser,SCENSEE,way='xpath',name='/html/body/div[1]/div/section/main/button',operate='click')#点击下一步 while True: try: if browser.find_element_by_xpath( '//*[@id="id11"]/div[1]/span').text == '工商登记类型': browser.find_element_by_xpath( '//*[@id="id11"]/div[2]').click() #点击工商登记类型 time.sleep(0.5) browser.find_element_by_xpath( f'/html/body/div[{div}]/div[2]/div/div/div[1]/span[2]' ).click() #点击确定 break except (SCENSEE, SCEENVE): time.sleep(1) continue except SCEECIE: browser.find_element_by_xpath( f'/html/body/div[{div}]/div[2]/div/div/div[1]/span[2]').click( ) #点击确定 break time.sleep(0.5) browser.find_element_by_xpath('//*[@id="id2"]/div[2]').click() #点击所属行业 time.sleep(0.5) browser.find_element_by_xpath( '/html/body/div[3]/div[2]/div/div/div[1]/span[2]').click() ##点击确定 time.sleep(0.5) if oFill: browser.find_element_by_xpath( '//*[@id="id12"]/div[2]/div/input').send_keys( fake.address().split()[0] * 256) else: browser.find_element_by_xpath( '//*[@id="id12"]/div[2]/div/input').send_keys( fake.address().split()[0]) #登记注册地址 if oFill: browser.find_element_by_xpath( '//*[@id="id13"]/div[2]/div/input').send_keys( str(randint(100, 1000)) * 256) else: browser.find_element_by_xpath( '//*[@id="id13"]/div[2]/div/input').send_keys(randint(100, 1000)) #年收入 if oFill: browser.find_element_by_xpath( '//*[@id="id14"]/div[2]/div/input').send_keys(fake.name() * 256) else: browser.find_element_by_xpath( '//*[@id="id14"]/div[2]/div/input').send_keys( fake.name()) #电信返佣银行账户名(选填) if oFill: browser.find_element_by_xpath( '//*[@id="id15"]/div[2]/div/input').send_keys('招商银行' * 256) else: browser.find_element_by_xpath( '//*[@id="id15"]/div[2]/div/input').send_keys( '招商银行') #电信返佣银行账户开户行(选填) if oFill: browser.find_element_by_xpath( '//*[@id="id16"]/div[2]/div/input').send_keys(bankCode * 512) else: browser.find_element_by_xpath( '//*[@id="id16"]/div[2]/div/input').send_keys( bankCode) #电信返佣银行账户账号(选填) if robot: saveFileRobot('公司信息填写完成,点击下一步') browser.find_element_by_class_name('nextbtn').click() #点击下一步 time.sleep(3) #法人信息 if oFill: browser = waitTo(browser, SCENSEE, way='xpath', name='//*[@id="id6"]/div[2]/div[1]/div/input', operate='send_keys', value=fake.address().split()[0] * 256) else: browser = waitTo(browser, SCENSEE, way='xpath', name='//*[@id="id6"]/div[2]/div[1]/div/input', operate='send_keys', value=fake.address().split()[0]) #证件地址 while True: try: browser.find_element_by_xpath( '//*[@id="id7"]/div[2]/div[1]/div/input').click() browser.find_element_by_xpath( '//*[@id="id7"]/div[2]/div[1]/div/input').clear() browser.find_element_by_xpath( '//*[@id="id7"]/div[2]/div[1]/div/input').send_keys( bankCode) #银行卡号 break except SCESERE: print('输入银行卡号失败!重试……') continue # browser.find_element_by_xpath('/html/body/div[1]/div/section/main/form[2]/div[3]/div[2]/div/input').send_keys(LXMTel)#银行预留手机号 browser.find_element_by_xpath('//*[@id="id9"]/div[2]').click() #点击居住性质 time.sleep(0.5) browser.find_element_by_xpath( f'/html/body/div[{div-1}]/div[2]/div/div/div[1]/span[2]').click( ) #点击确定 time.sleep(0.5) if oFill: browser.find_element_by_xpath( '//*[@id="id10"]/div[2]/div[1]/div/input').send_keys( str(randint(100, 1000)) * 256) #年收入 else: browser.find_element_by_xpath( '//*[@id="id10"]/div[2]/div[1]/div/input').send_keys( randint(100, 1000)) #年收入 browser.find_element_by_xpath('//*[@id="id11"]/div[2]').click() #点击学历 time.sleep(0.5) browser.find_element_by_xpath( f'/html/body/div[{div}]/div[2]/div/div/div[1]/span[2]').click() #点击确定 time.sleep(0.5) browser.find_element_by_xpath('//*[@id="id12"]/div[2]').click() #点击婚姻状况 time.sleep(0.5) if pLegalID: browser.find_element_by_xpath( f'/html/body/div[{div+1}]/div[2]/div/div/div[2]/div/div/ul/li[2]' ).click() #点击已婚 time.sleep(0.5) browser.find_element_by_xpath( f'/html/body/div[{div+1}]/div[2]/div/div/div[1]/span[2]').click( ) #点击确定 time.sleep(0.5) browser.find_element_by_xpath( '//*[@id="id13"]/div[2]/div/input').send_keys(fake.name()) #配偶姓名 browser.find_element_by_xpath( '//*[@id="id15"]/div[2]/div/input').send_keys(pLegalID) #配偶证件号码 browser.find_element_by_xpath( '//*[@id="id16"]/div[2]/div/input').send_keys( fake.phone_number()) #配偶手机号 else: browser.find_element_by_xpath( f'/html/body/div[{div+1}]/div[2]/div/div/div[1]/span[2]').click( ) #点击确定 time.sleep(0.5) #法人单位信息 if oFill: browser.find_element_by_xpath( '//*[@id="id17"]/div[2]/div[1]/div/input').send_keys( fake.company() * 256) else: browser.find_element_by_xpath( '//*[@id="id17"]/div[2]/div[1]/div/input').send_keys( fake.company()) #工作单位 if oFill: browser.find_element_by_xpath( '//*[@id="id18"]/div[2]/div[1]/div/input').send_keys( fake.address() * 256) # else: browser.find_element_by_xpath( '//*[@id="id18"]/div[2]/div[1]/div/input').send_keys( fake.address()) # if oFill: browser.find_element_by_xpath( '//*[@id="id19"]/div[2]/div[1]/div/input').send_keys(fake.name() * 256) else: browser.find_element_by_xpath( '//*[@id="id19"]/div[2]/div[1]/div/input').send_keys(fake.name()) browser.find_element_by_xpath( '//*[@id="id20"]/div[2]/div[1]/div/input').send_keys( fake.phone_number()) if oFill: browser.find_element_by_xpath( '//*[@id="id21"]/div[2]/div[1]/div/input').send_keys(fake.job() * 256) else: browser.find_element_by_xpath( '//*[@id="id21"]/div[2]/div[1]/div/input').send_keys(fake.job()) #法人关系人 if oFill: browser.find_element_by_xpath( '//*[@id="id22"]/div[2]/div[1]/div/input').send_keys(fake.name() * 256) else: browser.find_element_by_xpath( '//*[@id="id22"]/div[2]/div[1]/div/input').send_keys(fake.name()) browser.find_element_by_xpath('//*[@id="id23"]/div[2]').click() #与法人关系 time.sleep(0.5) browser.find_element_by_xpath( f'/html/body/div[{div+2}]/div[2]/div/div/div[1]/span[2]').click( ) #点击确定 time.sleep(0.5) browser.find_element_by_xpath( '//*[@id="id25"]/div[2]/div[1]/div/input').send_keys(fake.ssn()) browser.find_element_by_xpath( '//*[@id="id26"]/div[2]/div[1]/div/input').send_keys('18834465333') if referer: try: refererId = choice(refererIdDic[env]) except IndexError: refererId = '' browser.find_element_by_xpath( '//*[@id="id27"]/div[2]/div[1]/div/input').send_keys(refererId) if robot: saveFileRobot('法人相关信息填写完成,点击下一步') browser.find_element_by_class_name('nextbtn').click() #点击下一步 time.sleep(1) # if not JBC: # browser=waitTo(browser,(SCEECIE,SCENSEE),way='class',name='yu_popupBtn',operate='click')#点击前往验证 # while True: # browser=waitTo(browser,(SCEECIE,SCEENVE,SCEWDE),way='class',name='getCode',operate='click')#点击获取验证码 # browser,text=waitTo(browser,SCEECIE,way='class',name='getCode',operate='getText')#获取验证码元素文字 # if re.search(r'\d+',text):break # browser.find_element_by_id('id00').send_keys('123456') # browser.find_element_by_class_name('yu_popupBtn').click()#确定 while True: try: # print('debug:',browser.find_element_by_class_name('stepBox').text) if browser.find_element_by_class_name('stepBox').text == '3证件照片': if change: browser.find_element_by_xpath( '/html/body/div[1]/div/section/main/li[1]/div/li[2]/div/div[1]/div/input' ).send_keys(handIDpath) time.sleep(3) input('按回车继续...') else: time.sleep(1) browser.find_element_by_class_name('nextbtn').click() #点击下一步 break else: time.sleep(1) except (SCENSEE, SCEECIE): continue while True: try: if browser.find_element_by_class_name('stepBox').text == '4身份核验': if robot: saveFileRobot('点击身份核验') time.sleep(1) browser.find_element_by_class_name('nextbtn').click() #点击身份核验 break else: time.sleep(1) except (SCENSEE, SCEECIE): continue time.sleep(5) if 'haiermoney.com' in browser.current_url: while True: try: name = browser.find_element_by_css_selector( '.Name.ellipsis').text.split(':')[-1] href = browser.find_element_by_css_selector( '.BtnValidation').get_attribute('href') if robot: sendInput(f'请 {name} 去 {href} 做人脸识别,完成后发送 已完成人脸识别') getInput('已完成人脸识别') else: inputs = input(f'请 {name} 去 {href} 做人脸识别,完成后按回车,退出请按q:') if inputs == 'q': sys.exit(0) browser.refresh() break except SCENSEE: time.sleep(1) continue time.sleep(3) if robot: saveFileRobot('点击同意授权书') browser = waitTo(browser, SCENSEE, way='xpath', name='/html/body/div/div/section/main/div[2]/button', operate='click') #点击同意授权书 browser, text = waitTo(browser, SCENSEE, way='tag_name', name='h3', operate='getText') time.sleep(3) return browser, text