from selenium import webdriver
import time
import string, random
import requests
import pprint
sele删除课程
def Delete_Course():
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('http://localhost/mgr/login/login.html')
driver.find_element_by_id('username').send_keys('auto')
driver.find_element_by_id('password').send_keys('sdfsdfsdf')
driver.find_element_by_tag_name('button').click()
tbody = driver.find_elements_by_css_selector("tbody")
if tbody: #判断里面有没有课程,没有的话,直接退出
tr = driver.find_elements_by_css_selector("tbody>tr")
for i in range(1,len(tr)+1):
driver.find_element_by_css_selector("tbody>tr>td:nth-child(4)>button:nth-child(2)").click()
driver.find_element_by_css_selector(".btn-primary").click()
time.sleep(0.5)
driver.refresh()
driver.quit()
sele增加课程
def Add_Course(count):
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('http://localhost/mgr/login/login.html')
driver.find_element_by_id('username').send_keys('auto')
driver.find_element_by_id('password').send_keys('sdfsdfsdf')
driver.find_element_by_tag_name('button').click()
for i in range(count):
Course_name = ''.join(random.choices(string.ascii_lowercase + string.digits+string.ascii_uppercase, k=6))
driver.find_element_by_css_selector('[ng-click*="showAddOne=true"]').click()
a = driver.find_element_by_css_selector('[ng-model*="addData.name"]')
a.send_keys(Course_name)
b = driver.find_element_by_css_selector('[ng-model*="addData.desc"]')
b.send_keys(Course_name)
addOne = driver.find_element_by_css_selector('[ng-click*="addOne()"]')
addOne.click()
time.sleep(1)
a.clear()
b.clear()
driver.quit()
接口新增课程
def add_course(conut):
def login_api(): #登录获取sessionid
values = {
"username": "auto",
"password": "sdfsdfsdf"
}
res = requests.post("http://localhost/api/mgr/loginReq", data=values)
a = res.cookies["sessionid"]
# print(session_id)
return a
def api_add_course(sessionid,count):
for i in range (1,count+1):
name1 = ''.join(random.choices(string.ascii_lowercase + string.digits + string.ascii_uppercase, k=6))
payload = {
"action": "add_course",
"data": """{
"name":"%s",
"desc":"%s",
"display_idx":"1"
}
""" % (name1+"_课程", name1)
}
res = requests.post("http://localhost/api/mgr/sq_mgr/", data=payload, cookies={"sessionid": sessionid})
# retObj = res.json()
# pprint.pprint(retObj)
# return retObj
sessionid = login_api()
# print(sessionid)
api_add_course(sessionid,conut)
接口删除课程
def del_course():
def login_api(): #登录获取sessionid
values = {
"username": "auto",
"password": "sdfsdfsdf"
}
res = requests.post("http://localhost/api/mgr/loginReq", data=values)
a = res.cookies["sessionid"]
# print(session_id)
return a
def api_list_course(sessionid): #列出课程列表
#发送post请求 data接收的是字典类型的,会自动转化成urlencode格式
res = requests.get("http://localhost/api/mgr/sq_mgr/?action=list_course&pagenum=1&pagesize=20",cookies={"sessionid":sessionid}) #返回的是request库里面的response对象
retObj = res.json()
# pprint.pprint(retObj)
#返回的是响应中消息体对应的对象
return retObj
sessionid = login_api() #登录
res = api_list_course(sessionid) #列出列表,获取id
res1 = res['retlist'] #resl 是一个这样的值[{'id': 1369, 'name': 'vmVhKL_课程', 'desc': 'vmVhKL', 'display_idx': 1}, {'id': 1370, 'name': 'dQbstD_课程', 'desc': 'dQbstD', 'display_idx': 1}
d=[]
for i in res1: #获取单个课程信息,把id放到d列表里面
d.append(i["id"])
for k in d: #遍历每个id,并删除
values = {
"action": "delete_course",
"id": k # ?K是一个变化的数,有多少K就会执行多少次
}
res = requests.delete("http://localhost/api/mgr/sq_mgr/",cookies={"sessionid":sessionid},data=values)