运行后报错name 'user_email' is not defined,查不到原因了一直说未定义
来源:2-22 如何将整个注册流程脚本进行模块化实战讲解

weixin_慕瓜4505928
2021-02-22
找了半天一直没找到在哪里出错了,配置文件,调用配置文件都检查了没问题,运行这个就报错未定义user_email,求大神帮忙看一下原因
# -*-coding:utf -8 -*-
import sys
sys.path.append('E:\\慕课网学习\\selenium3+python')
from selenium import webdriver
import time
import random
from PIL import Image
# from ShowapiRequest import ShowapiRequest
import requests
import base64
from find_element import FindElement
class RegisterFunction(object):
def __init__(self, url):
self.driver = self.get_driver(url)
# 获取driver并且打开url
def get_driver(self, url):
# 打开浏览器
driver = webdriver.Chrome()
driver.get(url)
# 窗口最大化
driver.maximize_window()
return driver
# 输入用户信息
def send_user_info(self, key, data):
self.get_user_element(key).send_keys(data)
# 定位用户信息,获取element
def get_user_element(self, key):
find_element = FindElement(self.driver)
user_element = find_element.get_element(key)
return user_element
# 获取随机数
def get_range_user(self):
user_info = ''.join(random.sample('1234567890abcdefghijklmn', 8))
return user_info
# 获取图片
def get_code_image(self, file_name):
self.driver.save_screenshot(file_name)
code_element = self.get_user_element("code_image")
left = code_element.location['x']
top = code_element.location['y']
right = code_element.size['width'] + left
height = code_element.size['height'] + top
im = Image.open(file_name)
img = im.crop((left, top, right, height))
img.save(file_name)
# 解析图片获取验证码
# def code_online(file_name):
# r = ShowapiRequest("https://route.showapi.com/1274-2","543824","ff33ff058df14033a6a4da89dd585d0f" )
# r.addBodyPara("typeId", "35")
# r.addBodyPara("convert_to_jpg", "0")
# r.addBodyPara("base64", "")
# r.addFilePara("image", file_name) #文件上传时设置
# res = r.post()
# print(res.text)
# text = res.json()['showapi_res_body']['Result']
# return text
# 解析验证码
def code_online(self, file_name):
self.get_code_image(file_name)
# 调用百度文字识别获取access_token接口
host = "https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=8VL3QQR7Irl4Dw92frQi57Un&client_secret=M4poAbjnFEbmacr2YwWngrKdGZDNnYrQ"
response = requests.get(host)
if response:
access_token = response.json()['access_token']
# print(access_token)
# 调用百度图文字识别接口
request_url = "https://aip.baidubce.com/rest/2.0/ocr/v1/general_basic"
# 二进制方式打开图片文件
f = open(file_name, 'rb')
img = base64.b64encode(f.read())
params = {"image": img}
request_url = request_url + "?access_token=" + access_token
headers = {'content-type': 'application/x-www-form-urlencoded'}
response_img = requests.post(request_url, data=params, headers=headers)
if response_img:
text = response_img.json()["words_result"][0]["words"] # 获取验证码的值
return text
def main(self):
user_name_info = self.get_range_user()
user_email_info = user_name_info + "@163.com"
file_name = "E:/慕课网学习/img/test01.png"
code_text = self.code_online(file_name)
self.send_user_info('user_email', user_email)
self.send_user_info('user_name', user_name)
self.send_user_info('password', 111111)
self.send_user_info('code_text', 111111)
self.get_user_element('register_button').click()
time.sleep(5)
self.driver.close()
if __name__=='__main__':
register_function = RegisterFunction('http://www.5itest.cn/register')
register_function.main()
写回答
1回答
-
user_name_info = self.get_range_user()
user_email_info = user_name_info + "@163.com"
file_name = "E:/慕课网学习/img/test01.png"
code_text = self.code_online(file_name)
self.send_user_info('user_email', user_email)你也是很粗心。上面user email。info。下面user email 能一样么
00
相似问题