【python】青果教务系统模拟登陆

python

webdriver青果教务系统模拟登陆

使用 python 的 selenium + chrome 来模拟登陆学校教务系统

完整代码传至 github,增加了一个自动识别验证码的功能,不过是用的别人的轮子,识别度也不高

 

这是需要手动输入验证码的

 

获取验证码是在一个网页上,访问以后随机生成的,想要让生成的跟我们登录时要输入的验证码对起来,需要保证使用的是同一个cookie

from bs4 import BeautifulSoup

from 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

回到顶部