需要修改的代码如下:

  1. 在AutoScore100类中添加start_forum_score方法,用于启动论坛打分功能。

  2. 在score_program方法中添加论坛打分的代码。

需要修改的位置如下:

  1. 在__init__方法中添加self.start_forum_button.config(state='normal'),用于启用论坛打分按钮。

  2. 在start_program方法中添加self.start_forum_button.config(state='disabled'),用于禁用论坛打分按钮。

  3. 在stop_program方法中添加self.start_forum_button.config(state='disabled'),用于禁用论坛打分按钮。

  4. 在score_program方法中添加以下代码:

    等待论坛打分元素出现

    while True: try: forum_score_element = self.browser.find_element(By.CLASS_NAME, 'ng-pristine') break except: pass time.sleep(3)

    判断是否已经打过分

    try: blank_message_element = self.browser.find_element(By.CLASS_NAME, 'blank-message') if blank_message_element.text == '暂无': self.update_text_box('该学生未进行论坛打分') else: self.update_text_box('该学生已进行论坛打分') except: # 进行打分操作 forum_score_element.clear() forum_score_element.send_keys(str(random.randint(94, 99))) time.sleep(1.5) submit_button = self.browser.find_element(By.CLASS_NAME, 'icon-right-narrow') submit_button.click() time.sleep(2.5) self.update_text_box(f"本次论坛打分为:{forum_score_element.get_attribute('value')}")

    点击下一个学生

    next_student_element = self.browser.find_element(By.CLASS_NAME, 'icon-right-narrow') if "unclickable" 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('论坛打分中...')

  5. 在start_forum_score方法中添加以下代码:

    if not self.running: return

    if self.forum_thread and self.forum_thread.is_alive(): return

    self.start_forum_button.config(state='disabled') self.stop_score_button.config(state='normal') self.update_running_label('论坛打分中...') self.forum_thread = Thread(target=self.forum_score_program) self.forum_thread.start()

  6. 在stop_program方法中添加以下代码:

    if self.forum_thread and self.forum_thread.is_alive(): self.forum_thread.join()

  7. 在update_running_label方法中添加以下代码:

    if text == '论坛打分中...': self.start_score_button.config(state='disabled') self.start_score_button_2.config(state='disabled') self.pause_button.config(state='disabled') self.start_forum_button.config(state='disabled') else: self.start_score_button.config(state='normal') self.start_score_button_2.config(state='normal') self.pause_button.config(state='normal') self.start_forum_button.config(state='normal')

完整代码如下:

Python Selenium 自动评分机器人:解放教师双手,提高评阅效率

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

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