selenium 安装与 chromedriver安装可以参考以下:
https://www.cnblogs.com/lfri/p/10542797.html
注意事项
根据评论区提醒可能本硕的界面有不一致,硕博需要根据评论区提示在50行附近新增一行代码。
本科生目前正常使用。
安装selenium
pip install selenium
安装chromedriver
打开chrome访问以下地址查看版本号:
chrome://settings/help
之后进入下载地址:
http://chromedriver.storage.googleapis.com/index.html
找到自己版本
下载
下载解压之后找到chromedriver.exe,保存到任一一个你喜欢的目录之后,把这个目录添加到系统变量中(或者把chromedriver.exe直接放到Path中已经有的一个目录下也可以)
如果添加成功,命令行输入chromedriver会显示如下:
代码修改
如果不想添加环境变量,替换executable_path变量为chromedriver路径即可,成功添加环境变量理论上无需设置executable_path变量
记得替换你的账号密码和理由
range(10, 32)意为从10号打到31号
以下代码已经不可使用,最新代码参考github仓库
import time
import os
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
chrome_options = Options()
chrome_options.add_argument('--headless')
# 模拟浏览器打开网站
# browser = webdriver.Chrome(executable_path='/usr/lib/chromium-browser/chromedriver')
for i in range(10, 32):
date_string = "2020年12月" + str(i) + "日"
browser = webdriver.Chrome(options=chrome_options,
# 替换以下chromedriver执行路径
executable_path=r"C:\Users\Administrator\AppData\Local\Google\Chrome\Application\chromedriver.exe")
browser.get('https://xg.hit.edu.cn/zhxy-xgzs/xg_mobile/shsj/loginChange')
# 将窗口最大化
browser.maximize_window()
time.sleep(1)
browser.find_element_by_xpath('/html/body/div[1]/div[2]/button[1]').click()
time.sleep(1)
browser.find_element_by_xpath("/html/body/div[2]/div[2]/div[2]/div/div[3]/div/form/p[1]/input").send_keys(
"你的学号")
time.sleep(1)
browser.find_element_by_xpath("/html/body/div[2]/div[2]/div[2]/div/div[3]/div/form/p[2]/input[1]").send_keys(
"你的密码")
time.sleep(1)
browser.find_element_by_xpath("/html/body/div[2]/div[2]/div[2]/div/div[3]/div/form/p[5]/button").click()
time.sleep(1)
browser.find_element_by_xpath("/html/body/div[1]/div[5]/a[3]").click() # 出入校申请
#
time.sleep(1)
browser.find_element_by_xpath("/html/body/div[2]/a/div").click() # 新增
time.sleep(1)
# browser.switch_to.alert.accept()
time.sleep(1)
browser.find_element_by_xpath("/html/body/div[1]/div/div[9]/div/label[1]").click() # 勾选临时出校
time.sleep(1)
js = "document.getElementById('rq').removeAttribute('readonly')"
browser.execute_script(js)
browser.find_element_by_xpath("/html/body/div[1]/div/div[13]/input").send_keys(date_string) # 填写日期
browser.find_element_by_xpath("/html/body/div[1]/div/div[15]/textarea").send_keys("吃饭") # 出校理由
browser.find_element_by_xpath("/html/body/div[3]/div[1]/input").click() # 勾选一堆东西
browser.find_element_by_xpath("/html/body/div[3]/div[2]/input").click()
browser.find_element_by_xpath("/html/body/div[3]/div[3]/input").click()
browser.find_element_by_xpath("/html/body/div[3]/div[4]/input").click()
browser.find_element_by_xpath("/html/body/div[3]/div[5]/input").click()
browser.find_element_by_xpath("/html/body/div[3]/div[6]/input").click()
browser.find_element_by_xpath("/html/body/div[3]/div[8]/input").click()
browser.find_element_by_xpath("/html/body/div[3]/div[9]/input").click()
browser.find_element_by_xpath("/html/body/div[6]").click() # 提交
# js = 'document.getElementByName("right_btn").click();' # 提交
# browser.execute_script(js)
time.sleep(1)
browser.find_element_by_xpath("/html/body/div[10]/div[3]/a[2]").click()
time.sleep(1)
print(date_string + "出校申请成功")
os.system("taskkill /im chromedriver.exe /F")
os.system("taskkill /im chrome.exe /F")
2021.3.22更新
终于又重新开放了,改了一些代码,目前只开放了3.22-3.28的申请,先这么地吧
https://github.com/1170300817/HIT-out-script