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

之前写过一篇一篇关于刷学习强国的文章,但是存在文章阅读不加分的问题,最近改正了一下,测试了两个账号,均为满满的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

使用效果图

答题模块

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

文章阅读模块

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

获取方式

  1. 网盘 提取码: csdn
  2. 微信获取
    Python selenium---模拟手动操作达到无人值守学习强国刷积分目的--续(打包成品)_第3张图片

你可能感兴趣的:(笔记)