在AutoScore100类中加入以下代码:

  1. 在__init__方法中,创建论坛打分线程变量self.forum_thread和论坛打分按钮self.start_forum_button:

self.forum_thread = None self.start_forum_button = tk.Button(score_frame, text='论坛打分', command=self.start_forum_score) self.start_forum_button.pack(side=tk.LEFT, padx=20)

  1. 在start_forum_score方法中,加入以下代码:

try: # 等待论坛打分输入框出现 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 Exception as e: print(e) self.update_running_label('论坛

Python 自动评分机器人:支持百分制、小分值和论坛打分

原文地址: https://www.cveoy.top/t/topic/f2ek 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录