【python】青果教务系统模拟登陆
webdriver青果教务系统模拟登陆
使用 python 的 selenium + chrome 来模拟登陆学校教务系统
完整代码传至 github,增加了一个自动识别验证码的功能,不过是用的别人的轮子,识别度也不高
这是需要手动输入验证码的
获取验证码是在一个网页上,访问以后随机生成的,想要让生成的跟我们登录时要输入的验证码对起来,需要保证使用的是同一个cookie
from bs4 import BeautifulSoupfrom selenium import webdriver
import requests
import time
from selenium.webdriver.common.keys import Keys
from requests.cookies import RequestsCookieJar
#browser=webdriver.PhantomJS(executable_path=\'D:/software/phantomjs-2.1.1-windows/bin/phantomjs\')
#browser.get("http://jwxt.sdaeu.edu.cn/jwweb/home.aspx")
#为了验证,暂时不用无界
#chromeOptions = webdriver.ChromeOptions()
#chromeOptions.add_argument("--proxy-server=http://127.0.0.1:8080")
#给chrome设置代理
#browser = webdriver.Chrome(chrome_options = chromeOptions)
browser = webdriver.Chrome()
browser.get(\'http://jwxt.sdaeu.edu.cn/jwweb/home.aspx\')
#打开chrome
time.sleep(2)
browser.switch_to_frame(\'frm_login\')
#跳转表单
browser.find_element_by_id("txt_sdertfgsadscxcadsads").click()
jpg=browser.find_element_by_id(\'imgCode\')
img_src=jpg.get_attribute("src")
#print(img_src)
#拿到验证码url
#在这里应该使用browser的ASP.NET_SessionId的值
cookie_bro = browser.get_cookies()
#获取browser的cookie字典
#print(cookie_bro)
cookie1=cookie_bro[0][\'value\']
print("\n当前cookie为: "+cookie1)
headers1={
\'Host\':\'jwxt.sdaeu.edu.cn\',
\'User-Agent\':\'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36\',
\'Accept\':\'image/webp,image/apng,image/*,*/*;q=0.8\',
\'Referer\':\'http://jwxt.sdaeu.edu.cn/jwweb/_data/login_home.aspx\',
\'Accept-Encoding\':\'gzip, deflate\',
\'Accept-Language\':\'zh-CN,zh;q=0.9\',
\'Cookie\':\'myCookie=;\'+\'ASP.NET_SessionId=\'+cookie1,
\'Connection\':\'close\'
}
#proxy1={"http":"http://127.0.0.1:8080"}
#r=requests.get(img_src,headers=headers1,proxies=proxy1)
#requests代理
r=requests.get(img_src,headers=headers1)
img_content=r.content
print("[*]正在下载验证码...\n")
with open(\'check.jpg\',\'wb\') as f:
f.write(img_content)
#把对应的“学号”和“密码”换成自己的
browser.find_element_by_id("txt_asmcdefsddsd").send_keys("1803120102")
browser.find_element_by_id("txt_asmcdefsddsd").send_keys(Keys.TAB)
browser.find_element_by_id("txt_pewerwedsdfsdff").send_keys("wuxiange360")
#没有识别功能手动输入
code = input("[*]请输入验证码: ")
browser.find_element_by_id("txt_sdertfgsadscxcadsads").send_keys(code)
browser.find_element_by_id("btn_login").click()
#browser.close()
#关闭浏览器
以上是 【python】青果教务系统模拟登陆 的全部内容, 来源链接: utcz.com/z/386704.html