[Selenium](2)个贷自动化进件代码

来源:互联网 发布:有招聘淘宝主播的吗 编辑:程序博客网 时间:2024/05/01 23:26
#coding:utf-8###################V1.00   实现进件基础功能#V1.01   进行代码优化删除失败注释掉的代码#V1.02   判断身份证男女   失败了,决定不在这里控制#V1.03   尝试加入日志打印功能保存到同级目录中#V1.04   解决工作状况处报错问题##################import os,timefrom selenium import webdriverfrom selenium.webdriver.common.keys import Keys     #引用Key包from selenium.webdriver.common.action_chains import ActionChains    #解决下拉菜单引入import loggingdriver = webdriver.Firefox()driver.maximize_window() #浏览器最大化url = "http://testcrm6t3.hengyirong.com/index.php/Public/login"driver.get(url)#读取姓名文件jiekuanren_name = open("C:\\Users\\hc\\Desktop\\jiekuanren_name.txt", "r")JKR_name = jiekuanren_name.readlines()  #readlines 逐行读jiekuanren_name.close()#读取姓名文件结束num = len(JKR_name)  #读取文档的长度#开始记录loglogger = logging.getLogger()logsave = "个贷_进件申请20150915.log"logging.basicConfig(filename = logsave ,filemode = 'w',level = logging.DEBUG)  #log基本设置logging.debug('详细的信息,通常只出现在诊断问题上')logging.info('确认一切按预期运行')logging.warning('一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。')'''DEBUG:详细的信息,通常只出现在诊断问题上INFO:确认一切按预期运行WARNING:一个迹象表明,一些意想不到的事情发生了,或表明一些问题在不久的将来(例如。磁盘空间低”)。这个软件还能按预期工作。ERROR:个更严重的问题,软件没能执行一些功能CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行'''#记录log语句结束     def denglu():driver.find_element_by_id("staff_login_name").send_keys("13511111111")time.sleep(1)driver.find_element_by_class_name("pass").send_keys("123456")time.sleep(1)driver.find_element_by_id("button").click()time.sleep(1)def into_jinjianshenqing():try:driver.switch_to_frame('mainFrame')time.sleep(0.5)driver.switch_to_frame('leftFrame')time.sleep(1)driver.find_element_by_xpath("/html/body/div/ul[2]/li[1]/a").click()time.sleep(1)driver.switch_to_default_content()    #退出框架except Exception as e:print ("转入进件申请BUG==============:",e)finally:passdef jinjianshenqing():try:driver.switch_to_frame('mainFrame')   #进入主框架time.sleep(0.5)driver.switch_to_frame('rightFrame')  #进入右框架time.sleep(0.5)driver.find_element_by_class_name("selectIntut").clear()driver.find_element_by_class_name("selectIntut").send_keys(JKR_name[k - 1])  driver.find_elements_by_class_name("IdFirst")time.sleep(1)#输入客户姓名driver.find_element_by_xpath("html/body/div[2]/div/form/ul[1]/li[3]/div/div[1]/dl/dd[2]/a").click()except Exception as e:print ("选择客户BUG=============:",e)finally:passdef jiekuanxinxi():try:m = driver.find_element_by_css_selector("select[onchange^=checkRates]")m.find_element_by_xpath("//option[@value='2']").click()time.sleep(2)#以上是选择借款类型driver.find_element_by_css_selector("select[id=\"loan_time\"][class=\"select_styleN1\"]").find_element_by_xpath("/html/body/div[2]/div/form/ul[2]/li[4]/div/div[1]/select/option[3]").click()time.sleep(2)#以上是选择申请期限未完成driver.find_element_by_css_selector("input[id=\"count\"][type=\"text\"]").send_keys("80000")time.sleep(0.5)#以上是填写申请借款额度driver.find_element_by_css_selector("input[id=\"highest\"][name=\"highest\"]").send_keys("80000")#以上是填写可接受最高还款金额driver.find_element_by_css_selector("select[id=\"use\"][name=\"use\"]").find_element_by_xpath("/html/body/div[2]/div/form/ul[2]/li[9]/div/div[1]/select/option[9]").click()time.sleep(0.5)#以上是填写借款用途driver.find_element_by_css_selector("input[type=\"button\"][value=\"下一步\"]").click()#点击下一步except Exception as e:print ("借款信息BUG==============:",e)finally:passdef gerenxinxi():try:time.sleep(0.5)driver.find_element_by_css_selector("label >input[class=\"RaDio_Mr\"][value=\"1\"]").click()  #这么定位不能有空格#选择婚姻情况driver.find_element_by_css_selector("input[id=\"support_pre_count\"][name=\"support_pre_count\"]").send_keys("2")#供养人数driver.find_element_by_css_selector("input[id=\"support_pre_pay\"][name=\"support_pre_pay\"]").send_keys("30000") #每月家庭支出driver.find_element_by_css_selector("dd[class=\"select_styleN1_btn\"][style=\"margin-left: 118px;\"]").click()time.sleep(0.5)driver.find_element_by_xpath("/html/body/div[2]/div[1]/form/ul/li[9]/div/div[1]/dl/dd[2]/a[5]").click()#选择最高学历time.sleep(0.5)driver.find_element_by_css_selector("dd[class=\"select_styleN1_btn\"][style=\"margin-left: 58px;\"]").click()time.sleep(0.5)driver.find_element_by_xpath("/html/body/div[2]/div[1]/form/ul/li[11]/div/div[1]/dl/dd[2]/a[4]").click()#选择户口所在地time.sleep(0.5)driver.find_element_by_css_selector("input[id=\"account_place_other\"][name=\"account_place_other\"]").send_keys(u"南开区南开三马路6号")#填写详细地址time.sleep(1)driver.find_element_by_css_selector("input[class=\"BtnSTYLE02\"][value=\"与户口所在地一致\"]").click()#点击与户口所在地一致time.sleep(0.5)driver.find_element_by_css_selector("input[id=\"house_start\"][name=\"house_start\"]").click()time.sleep(1)driver.switch_to_frame(driver.find_element_by_xpath("/html/body/div[3]/iframe")) time.sleep(1)driver.find_element_by_css_selector("input[id=\"dpTodayInput\"][value=\"今天\"]").click()  driver.switch_to_default_content()time.sleep(0.5)driver.switch_to_frame('mainFrame')   #进入主框架time.sleep(0.5)driver.switch_to_frame('rightFrame')  #进入右框架time.sleep(1)#现居住地时间driver.find_element_by_css_selector("input[id=\"city_year\"][name=\"city_year\"]").click()driver.switch_to_frame(driver.find_element_by_xpath("/html/body/div[3]/iframe")) driver.find_element_by_css_selector("input[id=\"dpTodayInput\"][value=\"今天\"]").click()driver.switch_to_default_content()driver.switch_to_frame('mainFrame')   #进入主框架driver.switch_to_frame('rightFrame')  #进入右框架time.sleep(1)#来本市的年份driver.find_element_by_css_selector("input[onclick=\"ajax_submit()\"][value=\"下一步\"]").click()#点击下一步except Exception as e:print ("填写个人信息BUG============:",e)finally:passdef fangchanxinxi():try:driver.find_element_by_css_selector("dd[class=\"select_styleN1_btn\"][style=\"margin-left: 208px;\"]").click()time.sleep(1)driver.find_element_by_xpath("/html/body/div[2]/div[1]/form/div[1]/ul/li[3]/div[1]/div[1]/dl/dd[2]/a[8]").click()time.sleep(1)#添加房产信息driver.find_element_by_css_selector("input[type=\"button\"][value=\"下一步\"]").click()#点击下一步except Exception as e:print ("房产信息BUG=============:",e)finally:passdef gongzuoqingkuang():try:time.sleep(1)driver.find_element_by_css_selector("dd[class=\"select_styleN1_btn\"][style=\"margin-left: 118px;\"]").click()time.sleep(1)driver.find_element_by_xpath("/html/body/div[2]/div[1]/form/ul/li[3]/div/div/dl/dd[2]/a[4]").click()driver.find_element_by_css_selector("input[type=\"button\"][value=\"下一步\"]").click()#<input type="button" style="width:85px; padding-left:0px;" onclick="ajax_submit()" value="下一步">except Exception as e:print ("工作情况BUG==============:",e)finally:passdef lianxirenqingkuang():try:time.sleep(1)driver.find_element_by_css_selector("input[type=\"text\"][id=\"link_name\"]").send_keys(u"母上大人")#填写联系人姓名driver.find_element_by_css_selector("input[type=\"text\"][class=\"qk_I_Text1 ischeck phone\"]").send_keys("18911234567")#填写移动电话time.sleep(0.5)driver.find_element_by_css_selector("dd[class=\"select_styleN1_btn\"][style=\"margin-left: 118px;\"]").click()time.sleep(0.5)driver.find_element_by_xpath("/html/body/div[2]/div[1]/form/div[1]/ul[2]/li[5]/div/div/dl/dd[2]/a[2]").click()#选择关系time.sleep(0.5)driver.find_element_by_css_selector("input[id=\"link_address\"][name=\"link_address[]\"]").send_keys(u"北京市朝阳区建华南路11号北京人民广播电台东门南侧")#填写联系人地址time.sleep(1)###################################################################################两个代码完全一样如何定位m = driver.find_element_by_css_selector("ul[class=\"Form_UL Form_UL_inner1\"]")#<input id="link_name" class="qk_I_Text1 checkName BBFred" type="text" regdatas="1,,请填写姓名,,,^[a-zA-Z\u3400-\u9fbb\ue815-\ue864\uf900-\ufa2d\ufa30-\ufa6a\s\(\)]+$,,只能是汉字或字母" name="link_name[]" results="0">m.find_element_by_css_selector("input[id=\"link_name\"][name=\"link_name[]\"]").send_keys(u"冯泳铭")#其他人姓名#<input id="link_phone" class="qk_I_Text1 ischeck phone" type="text" txtype="/[0-9]+/" regdatas="1,,请填写移动电话,,,0,,请填写有效移动电话" name="link_phone[]">m.find_element_by_css_selector("input[id=\"link_phone\"][name=\"link_phone[]\"]").send_keys("13811478529")#其他人联系电话time.sleep(1)#<dd class="select_styleN1_btn" tabindex="selectMN" style="margin-left: 118px;"></dd>m.find_element_by_css_selector("dd[class=\"select_styleN1_btn\"][style=\"margin-left: 118px;\"]").click()time.sleep(0.5)m.find_element_by_xpath("/html/body/div[2]/div[1]/form/div[1]/div[3]/ul[2]/li[6]/div/div[1]/dl/dd[2]/a[2]").click()#其他人关系###################################################################################两个代码完全一样如何定位driver.find_element_by_css_selector("input[type=\"button\"][value=\"下一步\"]").click()#点击下一步except Exception as e:print ("联系人信息BUG:==================",e)finally:passdef tijiaoxinxi():try:time.sleep(1)driver.find_element_by_css_selector("input[class=\"BtN_style1\"][value=\"提交\"]").click()time.sleep(0.5)alert = driver.switch_to_alert()time.sleep(0.5)alert.accept()except Exception as e:print("提交BUG=============:",e)finally:passdef tuichu():try:driver.get("http://testcrm6t3.hengyirong.com/index.php/Public/logout")time.sleep(1)except Exception as e:print (e)finally:passdef START():time.sleep(1.5)denglu()               #登录into_jinjianshenqing()   #进入进件申请time.sleep(1)jinjianshenqing()   #执行进件申请输入借款人信息等time.sleep(1)jiekuanxinxi()     #进件申请中填写借款信息time.sleep(1)gerenxinxi()  #填写个人信息time.sleep(2)fangchanxinxi()  #填写房产信息time.sleep(1)gongzuoqingkuang()  #填写工作信息time.sleep(1)lianxirenqingkuang()  #填写联系人信息time.sleep(1)tijiaoxinxi()    #提交信息完成time.sleep(1)tuichu()for k in range(1 , num+1):print ("执行第=====%d=====次迭代"  %k)START()

0 0
原创粉丝点击