Beispiel #1
0
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
Beispiel #2
0
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()
Beispiel #3
0
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
Beispiel #4
0
			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}')
Beispiel #5
0
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()
Beispiel #6
0
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()
Beispiel #7
0
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