哈工大自动出校申请(selenium+chromedriver)


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号

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")

猜你喜欢

转载自blog.csdn.net/qq_40363447/article/details/110781063