• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

利用Python脚本实现自动刷网课

python 搞代码 4年前 (2022-01-07) 67次浏览 已收录 0个评论

这篇文章主要介绍了利用Python脚本实现自动刷网课,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

人在学校,身不由己。总有一些奇奇怪怪的学习任务,需要我们刷够一定的时长去完成,但这很多都是不太令人感兴趣的文字或是视频,而这些课都有共同的特点就是会间隔一定时间发出弹窗,确认屏幕前的我们是否还在浏览页面。每次靠人工去点击,会严重影响我们做其他正事的效率。

最近小李也需要刷够一定的学习时长。于是乎,我便找了好兄弟Python来帮忙。下面我们就用Python来实现自动化刷课吧!

说到自动化,Selenium这个浏览器自动化测试框架就派上了用场,整个自动刷课的主角便是它。

网站登录

那么为了实现自动刷课,我们需要先实现网站登录,才能在指定的账号内进行操作。常规的,我们需要在对应的位置,找到网页上对应的元素,并通过程序写入。

而这里有个相对麻烦的东西,即验证码,而这个验证码是白底黑字,是简单的字母数字形式,自然而然地就想到了Python的OCR库 tesserocr 。

把网站登录界面的验证码图片下载下来,调用 tesserocr 进行识别。输出result 即为读出的字符串序列。

 def ocr(): image=Image.open('captcha.jpg-600') image=image.convert('L') threshold=127 table=[] for i in range(256): if i<threshold: table.append(0) else: table.append(1) image=image.point(table,'1') result=tesserocr.image_to_text(image) return result<pre></div><p>解决了验证码,我们直接用selenium模拟点击 登录 按钮,便完成了登录过程。</p><p><span style="color: #ff0000"><strong>进入课程</strong></span></p><p>我们需要进入的是这个实验室准入页面,完成相关课程的学习。</p><p style="text-align: center"></p><p>在编写代码的过程中一直遇到报错,信息如下:ElementNotInteractableException ,即这个页面元素不能交互。我一度怀疑这个元素是因为 style 里的display属性设置成了none。经过观察发现,这个元素并没有隐藏。</p><p style="text-align: center"></p><p>在面向Google编程中我发现了问题的所在,有大佬总结了这一类错误发生的原因。</p><p style="text-align: center"></p><p>首先查看是否需要切换 iframe, 然后看看是否需要用js的方法来scroll滚动条,接着看看是否需要加等待时间,最后check下这个元素是否是<p style="color:transparent">来源gao!%daima.com搞$代*!码网</p>可以点击的。</p><p>因为selenium操作页面切换可能没有那么块,sleep延时一下等页面切换了再进行元素的查找。</p><p><span style="color: #ff0000"><strong>弹出框处理</strong></span></p><p>问题解决之后我们就来到了课程学习的页面。</p><p style="text-align: center"></p><p>而这个页面每个5分钟就会弹出提醒框,然后暂停课程的学习,因此我们需要利用selenium自动完成关闭提醒框的操作。</p><p style="text-align: center"></p><div class="gaodaimacode"><pre class="prettyprint linenums"> def answer_confirm(self): # 每隔5分钟弹出确认窗口 count=1 while 1: try: confirm=self.browser.switch_to_alert() print(confirm.text) confirm.accept() print("您已经完成时长为{}分钟的阅读!".format(count*5)) count+=1 time.sleep(300) except: time.sleep(2)

这样我们的程序就可以操作浏览器并完成一定时长的学习任务啦~

总结

以上所述是小编给大家介绍的利用Python脚本实现自动刷网课,希望对大家有所帮助!

以上就是利用Python脚本实现自动刷网课的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:利用Python脚本实现自动刷网课

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址