Python Selenium自动化脚本:实现网页论坛自动打分
Python Selenium自动化脚本:实现网页论坛自动打分
本文将介绍如何使用Python和Selenium库编写一个自动化脚本,用于在网页论坛中自动打分。
功能:
- 自动查找论坛打分输入框。* 判断学生是否已打分,如果未打分则随机生成分值并填写。* 自动点击保存按钮。* 自动切换到下一个学生并重复上述步骤。* 检测是否已到最后一个学生,如果是则停止脚本并提示用户。
**代码:**pythondef 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('论坛打分中...')
代码解析:
- 查找输入框元素: 使用
self.browser.find_element(By.XPATH, '//input[@ng-model='currentEnrollment.forum_score.display_score']')定位到论坛打分输入框。2. 判断是否已打分: 通过查找class='blank-message'的元素并判断其文本内容是否为 '暂无' 来确定是否已打分。3. 填写分值: 使用random.randint(94, 99)生成随机分值,并使用send_keys()方法将其输入到输入框中。4. 点击保存按钮: 使用self.browser.find_element(By.XPATH, '//button[@ng-click='saveScore(currentEnrollment)']')定位到保存按钮,并使用click()方法点击。5. 点击下一个学生按钮: 使用self.browser.find_element(By.XPATH, '//i[@ng-click='goToNextStudent()']')定位到下一个学生按钮,并使用click()方法点击。6. 判断是否到最后一个学生: 检查下一个学生按钮是否具有disabled属性,如果是则说明已到最后一个学生。
SEO优化建议:
- 标题中包含关键词 'Python','Selenium','自动化','论坛打分'。* 描述中概括文章内容,并包含相关关键词。* 使用清晰的代码格式和注释。* 添加相关标签,例如 'Python', 'Selenium', '自动化', '网页爬虫' 等。
希望这篇文章能帮助你理解如何使用Python和Selenium实现网页论坛自动打分功能。
原文地址: https://www.cveoy.top/t/topic/f2dF 著作权归作者所有。请勿转载和采集!