图片来源
225 字
1 分钟
基于 Selenium + Chromedriver 的智慧树自动评论
智慧树一些需要刷评论的课的评论页面禁止了复制粘贴,这就很难受。不过他只防君子防不了小人,基于 Selenium + Chromedriver 仍然可以成功的发送评论,而且可以批量刷评。
环境要求
- 版本一致的 Chromdriver 和 Chrome: https://googlechromelabs.github.io/chrome-for-testing/
- Python 包 selenium
# 如果是 python 可以pip install selenium# 如果是 conda 可以conda install selenium
代码实现
建议 jupyter notebook,方便调试
from selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWait as waitfrom selenium.webdriver.support import expected_conditions as EC
BASE_URL = "https://qah5.zhihuishu.com/qa.html#/web/questionDetail/1000008017/3112667604?recruitId=415085&role=2&VNK=901f1ce4"service = webdriver.chrome.service.Service( executable_path="/usr/local/bin/chromedriver")
options = webdriver.ChromeOptions()options.chrome_executable_path = ( "/Applications/Google Chrome for Testing.app/Contents/MacOS/Google Chrome for Testing")
driver = webdriver.Chrome(service=service, options=options)
driver.get(BASE_URL)这里人工登录一下(自动登录也是可以的,但是工作量会翻好几倍),然后重新开一下这个网页。
driver.get(BASE_URL)以评论评论为例,发帖是一样的逻辑,点开一个评论准备评论

获取一下 textarea 和“发表“按钮的元素,然后一直重复 textarea.send_keys(评论), 发表按钮.click() 即可。
注意不能发的太快,否则会被禁言,像这样。
import randomimport time
comments = [ "学习创业基础课可以帮助我们了解创业的基本流程,培养创新意识和机会识别能力。", "创业基础课的意义在于让我们明白创业不是简单开公司,而是发现问题、整合资源并创造价值。", "通过这门课,我们可以提升团队合作、沟通表达和解决实际问题的能力。", "创业基础课能拓宽我们的就业和发展思路,让我们不只局限于传统就业路径。", "学习创业基础课有助于培养风险意识,让我们在面对不确定性时更加理性和谨慎。", "这门课让我们认识到创业需要市场分析、商业模式设计和资源整合等综合能力。", "创业基础课可以激发大学生的创新精神,提高我们把想法转化为实际项目的能力。", "通过学习创业基础课,我们能更好地理解社会需求,并尝试用创新方式解决现实问题。", "创业基础课不仅教创业知识,也培养我们的责任意识、实践能力和抗挫折能力。", "学习这门课有助于我们形成创业思维,即使将来不创业,也能在工作中更主动地发现机会。",]
for comment in comments: ta = driver.find_element( By.XPATH, '//*[@id="app"]/div/div[3]/div[1]/div[2]/ul/li[1]/div[4]/div[2]/textarea' )
ta.send_keys(comment)
driver.find_element(By.CSS_SELECTOR, "div.issue-btn").click()
print(f"Posted comment: {comment}")
time.sleep(random.randint(5, 10))输出:
Posted comment: 学习创业基础课可以帮助我们了解创业的基本流程,培养创新意识和机会识别能力。Posted comment: 创业基础课的意义在于让我们明白创业不是简单开公司,而是发现问题、整合资源并创造价值。Posted comment: 通过这门课,我们可以提升团队合作、沟通表达和解决实际问题的能力。Posted comment: 创业基础课能拓宽我们的就业和发展思路,让我们不只局限于传统就业路径。Posted comment: 学习创业基础课有助于培养风险意识,让我们在面对不确定性时更加理性和谨慎。Posted comment: 这门课让我们认识到创业需要市场分析、商业模式设计和资源整合等综合能力。Posted comment: 创业基础课可以激发大学生的创新精神,提高我们把想法转化为实际项目的能力。Posted comment: 通过学习创业基础课,我们能更好地理解社会需求,并尝试用创新方式解决现实问题。Posted comment: 创业基础课不仅教创业知识,也培养我们的责任意识、实践能力和抗挫折能力。Posted comment: 学习这门课有助于我们形成创业思维,即使将来不创业,也能在工作中更主动地发现机会。然后优雅退出。
driver.quit() 分享
如果这篇文章对你有帮助,欢迎分享给更多人!
基于 Selenium + Chromedriver 的智慧树自动评论
https://starlab.top/posts/zhs-auto-comment/ 部分信息可能已经过时
相关文章 智能推荐

