自动论坛打分程序 - Python代码实现
# 自动论坛打分程序
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
该代码实现了一个自动论坛打分程序,程序会循环遍历学生,自动填写分数,点击保存,并跳转至下一个学生,简化了打分流程,提高了效率。
代码使用Python语言编写,并使用了Selenium库进行浏览器操作,程序可以根据实际情况进行修改和调整。
代码说明:
forum_score_program(self)函数为程序的主函数,负责实现自动打分功能。- 程序首先会循环遍历学生,直到所有学生都打完分为止。
- 在循环中,程序会先判断当前学生是否已经打过分,如果已经打过分,则跳过该学生。
- 如果当前学生还没有打过分,程序会自动填写随机分数,点击保存按钮,并跳转至下一个学生。
- 程序还包含了一些异常处理机制,保证程序能够稳定运行。
使用方法:
- 安装Selenium库:
pip install selenium - 下载与浏览器版本对应的ChromeDriver驱动程序:https://chromedriver.chromium.org/downloads
- 将ChromeDriver驱动程序添加到系统环境变量中。
- 修改代码中的浏览器路径和XPATH表达式,使其匹配您要操作的网页。
- 运行程序即可。
注意事项:
- 该程序仅供参考,使用前请确保您已了解相关法律法规,并遵守网站的使用条款。
- 请勿将该程序用于任何违法行为。
版权声明:
该代码仅供学习和研究使用,禁止用于商业目的。
免责声明:
该代码的使用风险由用户自行承担,作者不对代码的使用造成任何后果负责。
原文地址: https://www.cveoy.top/t/topic/f2e9 著作权归作者所有。请勿转载和采集!