#coding=utf-8 # 浏览器驱动包 from selenium import webdriver # 引入随机数生成包 import random # 使用pip库进行图片解析包/取图片的包 from PIL import Image # python3.6.5 # 需要引入requests包 :运行终端->进入python/Scripts ->输入:pip install requests from ShowapiRequest import ShowapiRequest # Chrome浏览器的驱动 driver = webdriver.Chrome() # 加载指定url界面 driver.get("http://www.5itest.cn/register") # 使浏览器界面最大化 driver.maximize_window() # 保存整个页面的图片 driver.save_screenshot("D:/imooc/imooc10.png") # 通过获取验证码的id,计算code_element的元素 code_element = driver.find_element_by_id("getcode_num") # 通过code_element的元素,计算code_element元素的坐标 # 获取的格式是:{"x":123,"y":345} print(code_element.location) # 左边点的坐标 left = code_element.location['x']*1.75 top = code_element.location['y']*1.75 # 右边点的坐标 right = code_element.size['width']*1.75+left height = code_element.size['height']*1.75+top # 打开一张图片,并命名为一个对象 im = Image.open("D:/imooc/imooc10.png") # 按照一个坐标进行裁剪 img = im.crop((left,top,right,height)) # 保存裁剪后的图片 img.save("D:/imooc/imooc_crop10.png") # 循环一次,指定生成随机的用户名、邮箱地址、密码 for i in range(1): user_name = ''.join(random.sample('1234567890abcdefg',5)) user_emil = user_name +"@163.com" user_password = user_name # 加载邮箱地址 driver.find_element_by_id("register_email").send_keys(user_emil) # 加载用户名 user_name_element_node = driver.find_elements_by_class_name("controls")[1] user_element = user_name_element_node.find_element_by_class_name("form-control") user_element.send_keys(user_name) # 加载密码 driver.find_element_by_name("password").send_keys(user_password) # 这里的api不变 # 需要缴费 # 修改my_appId = 1182042 # 修改my_appSecret = 523bfa72c8f64177b7a17f7a2f02c462 r = ShowapiRequest("http://route.showapi.com/184-1","1182042","523bfa72c8f64177b7a17f7a2f02c462" ) # 图片存放地址 r.addFilePara("image", r"D:/imooc/imooc_crop10.png") # 代表识别几位数的图片,即多少位数的字。 r.addBodyPara("typeId", "35") # r.addBodyPara("convert_to_jpg", "0") res = r.post() text = res.json()['showapi_res_error']['err'] print(res.text) # 返回信息 # 输入验证码 driver.find_element_by_id('captcha_code').send_keys(res.text) # 延迟10s #time.sleep(10) # 关闭进程 #driver.close()
标签:13,code,name,流程,driver,验证码,element,user,find From: https://www.cnblogs.com/jieqiong1755/p/16741888.html