懒惰是第一生产力!
前些天嫌每次查成绩都要输账号密码登陆然后点点点,所以写了这个自动化脚本。
由于用了轮子,所以几乎没有任何难度。。。
直接贴代码:
#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
# @Time : 2020/1/12 18:10
# @Author : SystemDefenser
# @Email : [email protected]
# @Software: PyCharm
from selenium import webdriver
from selenium.webdriver.common.action_chains import ActionChains # 鼠标操作
from selenium.webdriver.chrome.options import Options # 配置参数
import time
username = input("输入学号:")
password = input("输入密码:")
# 创建一个配置对象
chromeOption = Options()
# 禁止加载图片
# noImages = {
# 'profile.default_content_setting_values' : {
# 'images' : 2
# }
# }
# chromeOption.add_experimental_option('prefs',noImages)
# 禁止弹窗
# noJs = {
# 'profile.default_content_setting_values' : {
# 'notifications' : 2
# }
# }
# chromeOption.add_experimental_option('prefs',noJs)
# 利用创建的配置对象创建Chrome浏览器对象(进程)
driver = webdriver.Chrome(options=chromeOption)
# 操作该对象
# driver.get('http://www.zfjw.xupt.edu.cn/jwglxt/xtgl/login_slogin.html?language=zh_CN&_t=1578828383074')
# 访问查询页面
driver.get("http://www.zfjw.xupt.edu.cn/jwglxt/cjcx/cjcx_cxDgXscj.html?gnmkdm=N305005&layout=default&su=03173024") # get方式访问百度.
time.sleep(1)
driver.maximize_window() # 最大化窗口
time.sleep(1)
driver.find_element_by_id("yhm").send_keys(username) # 输入账号
time.sleep(1)
driver.find_element_by_id("mm").send_keys(password) # 输入密码
time.sleep(1)
driver.find_element_by_id("dl").click() # 点击登陆
time.sleep(1)
driver.find_element_by_id("search_go").click() #点击查询
# print(driver.page_source)
# 获取窗口句柄
# handle1 = driver.current_window_handle
# while True:
# handle2 = driver.current_window_handle
# if handle1 != handle2:
# break
time.sleep(10)
# 关闭浏览器对象(进程),否则该进程会一直运行
driver.quit()
休眠是为了体现流程。
账号密码可自定义进行初始化,随后只需双击运行即可。