在rf的实战1中,我的登录获取验证码就使用了自定义关键字,具体怎么做的,如下
1.新建文件夹
新建一个文件夹,我的MyLibrary,并且存放在site-packages下
2.编写代码
在python的编译器中把需要的代码编写完成,并且运行成功,以下代码就是获取页面的session,生成随机数,拿到session+key+随机数,生成MD5,在和请求一起get请求,返回验证码,代码在本地编译没有问题
import random import hashlib import types import requests key="XXXXXXXXX" class verificationCode(object): def __init__(self): self.encryptiontest = '' def code(self,cookie): # 随机数 letter = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" requestId = [] requestId.append(''.join(random.sample(list(letter), 6))) randomNumber=''.join(requestId) data = "a:1:{s:10:"session_id";s:26:"" + cookie + "";}" getsign = key + randomNumber + data # 获得密匙 # MD5加密 m = hashlib.md5() m.update(getsign) self.encryptiontest=m.hexdigest() #get请求 url = "https://rosewholesale.com/auto/api.php" textmod = {'XXXX': 'XXX', 'act': 'XXX', 'requestId': randomNumber, 'sign': self.encryptiontest, 'data': data,'ftc': 'XXXX'} r = requests.get(url, params=textmod) print "code:",r.status_code getcontent=r.text print u'返回的内容:',getcontent converturl = str(getcontent) splitStr = converturl[-76:-70] print u'验证码为:',splitStr return splitStr if __name__ == '__main__': verif=verificationCode() verif.code('aq3k8qphile1nrknarpnjb9eg0')
3.文件夹创建一个init文件,如下
文件夹中包含两个py文件
4.rf导入文件
如果导入后没有显示红色说明导入成功
5.使用自定义关键字
使用F5查找,查看是否引入了文件夹
使用在项目中
可以看见我的项目中是需要一个页面的cookie,目前获取的cookie给了一个变量cookie,而code就是我们刚刚定义的变量,把cookie给code,在到id为code的输入框中进行输入(验证码输入框),输入
你看是否成功,1.界面显示 2、日志打印,可以看到我们日志中的每个走向