Python selenium---模拟手动操作达到无人值守学习强国刷积分目的--续(打包成品)

   日期:2020-05-26     浏览:553    评论:0    
核心提示:之前写过一篇一篇关于刷学习强国的文章,但是存在文章阅读不加分的问题,最近改正了一下,测试了两个账号,均为满满的30分,详细步骤见Python selenium—模拟手动操作达到无人值守学习强国刷积分目的。因为还有很多功能没有写出来,所以并没有像上篇文章一样做GUI,还是是命令黑窗口窗口,如果介意,请忽略此篇文章,文章末尾提供下载链接目前仍存在三个小问题,不过并不影响使用,因为这三种类型的题不多见:答题功能不能回答视频题答题功能不能回答判断题答题功能不能回答排序题针对以上三个问题,目前没有解决方python

之前写过一篇一篇关于刷学习强国的文章,但是存在文章阅读不加分的问题,最近改正了一下,测试了两个账号,均为满满的30分,详细步骤见Python selenium—模拟手动操作达到无人值守学习强国刷积分目的。因为还有很多功能没有写出来,所以并没有像上篇文章一样做GUI,还是是命令黑窗口窗口,如果介意,请忽略此篇文章。

目前仍存在三个小问题,不过并不影响使用,因为这三种类型的题不多见:

  1. 答题功能不能回答视频题
  2. 答题功能不能回答判断题
  3. 答题功能不能回答排序题

针对以上三个问题,目前没有解决方案,只能人工选择了,程序如有存在问题,还请麻烦在评论区留言或者私信

转载请说明出处: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

使用效果图

答题模块

文章阅读模块

获取方式

  1. 网盘 提取码: csdn
  2. 微信获取
 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
更多>相关资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服