之前写过一篇一篇关于刷学习强国的文章,但是存在文章阅读不加分的问题,最近改正了一下,测试了两个账号,均为满满的30分,详细步骤见Python selenium—模拟手动操作达到无人值守学习强国刷积分目的。因为还有很多功能没有写出来,所以并没有像上篇文章一样做GUI,还是是命令黑窗口窗口,如果介意,请忽略此篇文章。 目前仍存在三个小问题,不过并不影响使用,因为这三种类型的题不多见: 针对以上三个问题,目前没有解决方案,只能人工选择了,程序如有存在问题,还请麻烦在评论区留言或者私信 转载请说明出处:https://blog.csdn.net/smart_num_1
改正步骤
初始化
# Author:smart_num_1 # blog:https://blog.csdn.net/smart_num_1 if __name__ == '__main__': with open('./record-article.txt','r',encoding = 'utf-8') as record: already_read = record.readlines() with open('./record-video.txt','r',encoding = 'utf-8') as record: already_watch = record.readlines() # 用两个列表,分别储存已经加载过的文章和视频,原因是学习强国对于以阅读过的文章不给予加分
文章阅读模块处理
# Author:smart_num_1 # blog:https://blog.csdn.net/smart_num_1 def page(): os.system('cls') print('第一项:文章积分') driver.get(url='https://www.xuexi.cn/d05cad69216e688d304bb91ef3aac4c6/9a3668c13f6e303932b5e0e100fc248b.html') artical_lis = get_artical_lis(driver=driver) print('共找到%s篇文章' % len(artical_lis)) articlt_num = 0 for data in artical_lis: if data.get_attribute('innerText') + 'n' in already_read: continue # 在这里一定要注意,在每次保存已加载过文章时,观察下方代码,有个换行符,所以一定要重视这个问题 with open('./record-article.txt','a',encoding = 'utf-8') as record: record.write(data.get_attribute('innerText')) record.write('n') if articlt_num >= 8: break try: print('正在阅读', data.get_attribute('innerText')) data.click() handles = driver.window_handles driver.switch_to_window(handles[1]) loading_page(driver) driver.close() # 上一个版本的程序,会发现打开很多个新标签页,造成内存浪费,这次新加了关闭已阅读过的文章,达到节省内存的目的 driver.switch_to_window(handles[0]) print('已加载', data.get_attribute('innerText')) articlt_num += 1 except: continue
使用效果图
答题模块
文章阅读模块
获取方式
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算