Skip to content

Commit e0641c5

Browse files
committed
20240103 fix
1 parent 3daed82 commit e0641c5

File tree

3 files changed

+41
-26
lines changed

3 files changed

+41
-26
lines changed

README.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,9 @@
11
# SZTU-ZDPJ
2-
随机,自动地评教深圳技术大学的评教
2+
已适配2024年1月的评教系统。
3+
目前在macOS中测试通过,其他平台理论可行。
4+
请自行安装selenium包,并在初次运行后写入xh_pass.json文件中对应的学号和密码。
5+
第一次运行可能会消耗很多时间,因为软件需要载入一个Chrome内核,请您耐心等待。
6+
7+
本库基于库[Xeler-ync/SZTU-ZDPJ](https://github.com/Xeler-ync/SZTU-ZDPJ)做适配,接下来也会持续更新。
8+
### 祝各位期末顺利,新年快乐!
9+

SZTU-ZDPJ.py

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -12,64 +12,68 @@
1212

1313
def evaluate_techer() -> None:
1414
driver.switch_to.default_content()
15-
driver.switch_to.frame(driver.find_element(By.XPATH,'//*[@id="Frame1"]'))
15+
driver.switch_to.frame(driver.find_element(By.XPATH, '//*[@id="Frame1"]'))
1616
try:
17-
i = 3
17+
i = 2
1818
j = 2
1919
while 1:
20-
driver.find_element(By.XPATH,f'//*[@id="table1"]/tbody/tr[{i}]/td[2]/label[{j}]/i').click()
21-
j = randint(1,2)
22-
i += 2
20+
driver.find_element(By.XPATH, f'//*[@id="table1"]/tbody/tr[{i}]/td[2]/label[{j}]/i').click()
21+
j = randint(1, 2)
22+
i += 1
2323
except Exception:
24-
driver.find_element(By.XPATH,'//*[@id="jynr"]').send_keys('My evaluation')
24+
driver.find_element(By.XPATH, '//*[@id="jynr"]').send_keys('感谢您的授课,期待再次相遇!')
2525
try:
26-
driver.find_element(By.XPATH,'//*[@id="bc"]').click()
26+
driver.find_element(By.XPATH, '//*[@id="bc"]').click()
2727
fuck_off_alert()
2828
# fuck_off_alert()
2929
except Exception:
30-
driver.find_element(By.XPATH,'//*[@id="qx"]').click()
30+
driver.find_element(By.XPATH, '//*[@id="qx"]').click()
31+
3132

3233
def evaluate_techer_switcher() -> None:
3334
try:
3435
i = 2
3536
while 1:
36-
driver.find_element(By.XPATH,f'//*[@id="dataList"]/tbody/tr[{i}]/td[8]/a').click()
37+
driver.find_element(By.XPATH, f'//*[@id="dataList"]/tbody/tr[{i}]/td[8]/a').click()
3738
evaluate_techer()
3839
i += 1
3940
except Exception:
4041
try:
41-
driver.find_element(By.XPATH,'//*[@id="btnsubmit"]').click()
42+
driver.find_element(By.XPATH, '//*[@id="btnsubmit"]').click()
4243
except Exception:
43-
driver.find_element(By.XPATH,'//*[@id="bc"]').click()
44+
driver.find_element(By.XPATH, '//*[@id="bc"]').click()
4445
fuck_off_alert()
45-
driver.find_element(By.XPATH,'//*[@id="btnShenshen"]').click()
46+
driver.find_element(By.XPATH, '//*[@id="btnShenshen"]').click()
4647
fuck_off_alert()
4748

49+
4850
def hit_like() -> None:
4951
driver.switch_to.default_content()
50-
driver.switch_to.frame(driver.find_element(By.XPATH,'//*[@id="Frame1"]'))
52+
driver.switch_to.frame(driver.find_element(By.XPATH, '//*[@id="Frame1"]'))
5153
try:
5254
i = 2
5355
while 1:
54-
driver.find_element(By.XPATH,f'//*[@id="dataList"]/tbody/tr[{i}]/td[7]/a').click()
56+
driver.find_element(By.XPATH, f'//*[@id="dataList"]/tbody/tr[{i}]/td[7]/a').click()
5557
fuck_off_alert()
5658
i += 16
5759
except Exception:
58-
driver.find_element(By.XPATH,'//*[@id="btnShenshen"]').click()
60+
driver.find_element(By.XPATH, '//*[@id="btnShenshen"]').click()
61+
5962

6063
def fuck_off_alert() -> None:
6164
with contextlib.suppress(Exception):
6265
sleep(1)
6366
alert = driver.switch_to.alert
6467
alert.accept()
6568

69+
6670
def select_page() -> None:
67-
driver.switch_to.frame(driver.find_element(By.XPATH,'//*[@id="Frame1"]'))
68-
driver.find_element(By.XPATH,'//*[@id="Form1"]/table/tbody/tr[4]/td[8]/a').click()
71+
driver.switch_to.frame(driver.find_element(By.XPATH, '//*[@id="Frame1"]'))
72+
driver.find_element(By.XPATH, '//*[@id="Form1"]/table/tbody/tr[4]/td[8]/a').click()
6973
hit_like()
70-
driver.find_element(By.XPATH,'//*[@id="Form1"]/table/tbody/tr[2]/td[8]/a').click()
74+
driver.find_element(By.XPATH, '//*[@id="Form1"]/table/tbody/tr[2]/td[8]/a').click()
7175
evaluate_techer_switcher()
72-
driver.find_element(By.XPATH,'//*[@id="Form1"]/table/tbody/tr[3]/td[8]/a').click()
76+
driver.find_element(By.XPATH, '//*[@id="Form1"]/table/tbody/tr[3]/td[8]/a').click()
7377
evaluate_techer_switcher()
7478
driver.switch_to.default_content()
7579

@@ -83,13 +87,14 @@ def main() -> None:
8387
# options.add_argument('--disable-gpu')
8488
driver = webdriver.Chrome(options=options)
8589
login(driver)
86-
sleep(3)
87-
driver.find_element(By.XPATH,'//*[@id="accordion"]/li[11]/div/i').click()
88-
driver.find_element(By.XPATH,'//*[@id="accordion"]/li[11]/ul/li/div/i').click()
8990
sleep(1)
90-
driver.find_element(By.XPATH,'//*[@id="accordion"]/li[11]/ul/li/ul/li').click()
91+
driver.find_element(By.XPATH, '//*[@id="accordion"]/li[11]/div/i').click()
92+
driver.find_element(By.XPATH, '//*[@id="accordion"]/li[11]/ul/li/div/i').click()
93+
sleep(0.5)
94+
driver.find_element(By.XPATH, '//*[@id="accordion"]/li[11]/ul/li/ul/li').click()
9195
select_page()
9296
print('Done!')
9397

98+
9499
if __name__ == '__main__':
95-
main()
100+
main()

login.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,10 @@ def login(driver):
2525
driver.find_element(By.XPATH,'//*[@id="j_username"]').send_keys(jsonContent['xuehao'])
2626
sleep(1)
2727
driver.find_element(By.XPATH,'//*[@id="j_password"]').send_keys(jsonContent['password'])
28-
driver.find_element(By.XPATH,'//*[@id="loginButton"]').click()
28+
try:
29+
driver.find_element(By.XPATH,'//*[@id="loginButton"]').click()
30+
except Exception:
31+
print("可能出现账户或者密码错误,请验证您提供的用户信息")
2932

3033
if __name__ == '__main__':
3134
global driver

0 commit comments

Comments
 (0)