Python Selenium 自动化论坛评分系统
def forum_score_program(self):
try:
# 循环打分论坛分值
while True:
if not self.running:
break
if self.paused:
continue
# 等待论坛打分输入框出现
while True:
try:
forum_score_input = self.browser.find_element(By.XPATH, '//input[@ng-model="currentEnrollment.forum_score.display_score"]')
break
except:
pass
time.sleep(3)
# 判断是否已经打过分
try:
blank_message = self.browser.find_element(By.CLASS_NAME, 'blank-message')
if blank_message.text == '暂无':
# 填写分值
score = random.randint(94, 99)
forum_score_input.send_keys(str(score))
time.sleep(1.5)
# 点击保存按钮
save_button = self.browser.find_element(By.XPATH, '//button[@ng-click="saveScore(currentEnrollment)"]')
save_button.click()
time.sleep(2.5)
self.update_text_box(f'本次论坛分值为:{score}')
self.update_running_label('论坛打分中...')
else:
self.update_text_box('本学生已打过论坛分或未参加论坛,跳过')
except:
pass
# 点击下一个学生
next_student_element = self.browser.find_element(By.XPATH, '//i[@ng-click="goToNextStudent()"]')
if 'disabled' in next_student_element.get_attribute('class'):
print('已经到最后一个学生')
self.update_running_label('已到最后,请手动保存后重新开始!')
break
else:
next_student_element.click()
time.sleep(3)
self.update_running_label('论坛打分中...')
except:
pass
原文地址: https://www.cveoy.top/t/topic/f2e6 著作权归作者所有。请勿转载和采集!