先看效果。代码我已经详细做了注释。代码放在最后。
上面是selenium获取的cookies.下面是自动查询未完成的学生名单。
下面是显示,post方法查看请求头和cookies,cookies我是手动复制后放到代码里面,尤其第二页要用post的方式请求
#此代码需要班主任的安全教育平台密码账户登录才可以运行
#没有账户的朋友。可以学习一下思路
from selenium import webdriver
import time
from selenium.webdriver.chrome.service import Service
import requests
from bs4 import BeautifulSoup
import pandas as pd
#此代码需要班主任的安全教育平台密码账户登录才可以运行
#没有账户的朋友。可以学习一下思路
def getcooke(i):#i参数选择一个班主任的账户密码登录 ,函数获取当前用户的cookies
#注意 selenium获取的cookies 是一个列表 和requests用的cookies不同
driver = webdriver.Chrome()
#定义三个班主任的账户密码
name=['账户0','账户1 ','账户2','账户3']
password=['密码0','密码1','密码2','密码3']
# i参数选择一个班主任的账户密码登录
a=name[i]
b=password[i]
# 实例化出一个Chrome浏览器
driver = webdriver.Chrome()
# 设置浏览器窗口的位置和大小
driver.set_window_position(20,40)
driver.set_window_size(1100,700)
# 打开一个页面(QQ空间登录页)
driver.get("https://xinzhou.xueanquan.com/login.html#")
time.sleep(3)
iframe=driver.find_elements_by_tag_name('''iframe''')[0] ##定位iframe嵌套的页面
driver.switch_to.frame(iframe)#进入iframe嵌套的页面
#print(driver.page_source) #获取iframe嵌套的页面
driver.find_element_by_xpath('''//*[@id="app"]/div/div/div[2]''').click()
driver.find_element_by_xpath('''//*[@id="app"]/div/div/div/div/form/div[1]/div/div/input''').send_keys(a)
driver.find_element_by_xpath('''//*[@id="app"]/div/div/div/div/form/div[2]/div/div/input''').send_keys(b)
driver.find_element_by_xpath('''//*[@id="app"]/div/div/div/div/form/button''').click()
#下面的登录方式失效了 页面被更改了
#driver.find_element_by_id('UName').clear()
#driver.find_element_by_id('UName').send_keys(a)
#driver.find_element_by_id('PassWord').clear()