我们用自动化新建项目之后,要想接着对这个新建项目操作,那就需要用参数关联了,新建项目之后会有一个项目的id,获得到这个id,就可以通过这个项目id继续操作这个新建项目。
大致流程步骤:登录——>新建项目——>web界面操作项目进度——>fiddler抓取操作请求——>提取参数——>传参——>代码实现。
一、操作新项目
1.我们前面讲过新建项目后,那可以继续接着操作,操作项目状态;
2.用fiddler抓包,抓到操作的请求,从抓包结果可以看出,传的data参数是status,id;
查看数据库,status=3,表示进行中;
3.那id哪里来的呢?可以看到新增项目请求的响应结果有id;
4.也就是说在新建项目的时候,系统随机生成一个id,那接下来我们提取出来就可以了。
#coding:utf-8 import requests import re url="http://47.98.106.11:8088/login" data={"username":"libai","password":"123456"} headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36"} s=requests.Session() rs=s.post(url,data=data,headers=headers) print(rs.text) #新增项目 d={"name":"奶茶", "aliasname":"cake", "started":"2020-07-26", "ended":"2020-07-27", "desc":"good", "id":"0"} rs2=s.post("http://47.98.106.11:8088/project/add",data=d,headers=headers) print(rs2.text) id=re.findall(r"id":"(.+?)"",rs2.text)#提取id print(id[0]) datas={"status":"3","id":id[0]} rs3=s.post("http://47.98.106.11:8088/project/ajax/status",data=datas,headers=headers) print(rs3.text)
如果想看清楚,可以在操作状态前打断点;
1)在提取完id的下一行,双击前边即可出现一个红色的大圆点;
2)点击右上方的昆虫图标;进入debug模式,代码运行到断点处停止运行;
3)web页面,刷新项目,查看项目,有刚新增的项目;
4)点击右边的绿色图标一次性执行完后边的代码;
5)刷新web页面,看到刚新增的项目,状态已经变成进行状态。