运行脚本后报错“positional argument but 2 were given”但我找不到那条语句有问题,求解答
来源:2-22 如何将整个注册流程脚本进行模块化实战讲解

追风筝的人qym
2018-09-07
from selenium import webdriver
from ShowapiRequest import ShowapiRequest
from PIL import Image
from time import sleep
from find_element import Find_element
import random
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_key(data)
#定位用户信息,获取element
def get_user_element(self,key):
find_element = Find_element(self.driver)
user_element = find_element.code_value(key)
return user_element
def code_num(self):
email_user = ''.join(random.sample('17389', 5))
return email_user
def photo_num(self,filename):
self.driver.save_screenshot(filename)
element_value = self.get_user_element("code_image")
left = element_value.location['x']
top = element_value.location['y']
right = element_value.size['width'] + left
height = element_value.size['height'] + top
im = Image.open(filename)
new_image = im.crop((left, top, right, height))
new_image.save(filename)
def code_infor(self,filename):
self.code_num(filename)
r = ShowapiRequest("http://route.showapi.com/184-4", "73290", "91d9d5556af84a7b8FOfe02047b92c7c")
r.addBodyPara("typeId", "35")
r.addBodyPara("convert_to_jpg", "0")
r.addFilePara("image", filename)
res = r.post()
print(res.text)
text = res.json()['showapi_res_body']['Result']
return text
def main(self):
user_name_number = self.code_num()
user_email = user_name_number + "@163.com"
filename = r'E:/Image.png'
code_text = self.code_infor(filename)
self.send_user_info('user_email',user_email)
self.send_user_info('user_name', user_name_number)
self.send_user_info('user_password',"123466")
self.send_user_info('code_text', code_text)
self.get_user_element('register_button').click()
sleep(4)
self.driver.close()
if name == ‘main’:
reg_fun = RegisterFunction(‘http://www.5itest.cn/register?goto=/’)
reg_fun.main()
2回答
-
random.sample('17389', 5) 这个方法告诉你 需要传递一个list进去,然后从list里面获取5个数据作为返回数据
012018-09-08 -
追风筝的人qym
提问者
2018-09-07
E:\python\python.exe D:/Python_py/SELENIUM_MUK/imooc_selenium/register_funcation01.py
Traceback (most recent call last):
File "D:/Python_py/SELENIUM_MUK/imooc_selenium/register_funcation01.py", line 68, in <module>
reg_fun.main()
File "D:/Python_py/SELENIUM_MUK/imooc_selenium/register_funcation01.py", line 57, in main
code_text = self.code_infor(filename)
File "D:/Python_py/SELENIUM_MUK/imooc_selenium/register_funcation01.py", line 43, in code_infor
self.code_num('filename')
TypeError: code_num() takes 1 positional argument but 2 were given
00
相似问题