需求:

在路飞学城买了一个python全栈的在线课程,由于前期没有抓紧时间学习,导致课程到期前2个月感觉视频看不完了,所以想到用python+selenium自动播放视频,自动录屏保存,这样就可以每天24小时全部利用起来录屏,然后有空的时候再慢慢看视频学习,每天的视频课程大概4小时,如果24小时全部用来自动播放录制视频,比人手动操作效率提升了6倍,所以6个月的课程,1个月就完成了播放录制保存。

代码执行效果,需要在720P下观看

自动播放录屏保存视频20210401

python代码

from time import sleep
from selenium import webdriver
from selenium.webdriver.firefox.webdriver import WebDriver
from selenium.webdriver.support.ui import Select, WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import pyautogui
import pyperclipdriver = webdriver.Firefox()# 打开网页
driver.get('https://www.luffycity.com/')
# 登录
# 窗口最大化
driver.maximize_window()
# 先关闭广告弹窗,<img src="//hcdn2.luffycity.com/media/frontend/activity/close.png" class="close" data-v-250c3340="">
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[2]/div/img[1]').click()
# 然后点击登录按钮
WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, '/html/body/div[1]/div/div/header/div/div/div[2]/div[2]/span')))
driver.find_element_by_xpath('/html/body/div[1]/div/div/header/div/div/div[2]/div[2]/span').click()
# 输入用户名,密码
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[2]/div/div[2]/div[1]/div[1]/input').clear()
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[2]/div/div[2]/div[1]/div[1]/input').send_keys('username')
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[2]/div/div[2]/div[1]/div[2]/input').clear()
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[2]/div/div[2]/div[1]/div[2]/input').send_keys('password')
# 点击登录
driver.find_element_by_xpath('/html/body/div[1]/div/div/div[2]/div/div[2]/button').click()
sleep(3)
# 打开一个课程链接
driver.get('https://www.luffycity.com/play/13735')# 循环下面的步骤
def record_screen(count):for i in range(count):# 点击一次刷新按钮driver.refresh()# 当全屏按钮出现时,点击全屏按钮,<button type="button" class="pv-fullscreen pv-iconfont pv-icon-fullscreen"></button>WebDriverWait(driver, 10).until(EC.visibility_of_element_located((By.XPATH, '/html/body/div[1]/div/div/div/div[1]/div[2]/div/div/div[2]/div[2]/div[2]/div[8]/button')))driver.find_element_by_xpath('/html/body/div[1]/div/div/div/div[1]/div[2]/div/div/div[2]/div[2]/div[2]/div[8]/button').click()# 点击开始driver.find_element_by_xpath('/html/body/div[1]/div/div/div/div[1]/div[2]/div/div/div[1]/div[4]/span').click()# 使用autogui,通过快捷键ctrl+F1开始录屏pyautogui.hotkey('ctrl', 'F1')# 等待5s,查询class="section active"下面的h5的名称,并copy,<h5 data-v-559c3ed2="" class="section-number">1.313 第89天:Flask初始化配置</h5>sleep(5)video_name = driver.find_element_by_xpath("//div[@class='section active']/section/h5").get_attribute('textContent')video_name_postfix = video_name + '.wmv'pyperclip.copy(video_name_postfix)# 每过10s检查一次pv-time-current时间,如果pv-time-current时间=pv-time-duration,通过快捷键ctrl+F2结束录屏,并退出while循环# <span class="pv-time-current">00:21</span>,<span class="pv-time-duration">38:44</span>while True:pv_time_current = driver.find_element_by_class_name("pv-time-current").get_attribute('textContent')pv_time_duration = driver.find_element_by_class_name("pv-time-duration").get_attribute('textContent')if pv_time_current == pv_time_duration:print('视频播放完成:', video_name_postfix)pyautogui.hotkey('ctrl', 'F2')breakelse:sleep(10)# paste上面copy的名称+wmv后缀,用autogui切换到浏览器,按ESC退出全屏sleep(2)pyautogui.hotkey('ctrl', 'v')pyautogui.hotkey('enter')pyautogui.hotkey('alt', 'tab')sleep(1)pyautogui.hotkey('esc')sleep(1)# 检查是否有反馈弹窗,如果有就点击关闭按钮,<img data-v-225eb798="" src="//hcdn2.luffycity.com/media/frontend/activity/icon-close.png" alt="关闭按钮">pop_window_feedback = '/html/body/div[1]/div/div/div/div[1]/div[3]/div/p[1]/img'pop_window_next = '/html/body/div[1]/div/div/div/div[1]/div[3]/button'try:# driver.find_element_by_xpath(pop_window_feedback)driver.find_element_by_xpath(pop_window_feedback).click()driver.find_element_by_xpath(pop_window_next).click()except:# 如果没有反馈弹窗,就点击下一节按钮,<button data-v-559c3ed2="" class="next-button">下一节</button>driver.find_element_by_xpath(pop_window_next).click()print(i)record_screen(200)

自动播放视频并录屏保存的python实现相关推荐

  1. 视频安全之授权播放和防录屏跑马灯

    阿酷TONY  2021-2-26 整理 视频安全之授权播放和防录屏跑马灯 先上效果图(视频播放时,显示学员名称和学员手机号): 屏幕录像是最难防范的一种视频盗版方式,保利威播放器提供的防录屏跑马灯功 ...

  2. win10录屏文件在哪?怎么更改win10录屏保存位置

    在我们日常使用的win10电脑是自带录屏的功能的,可以将一些精彩画面录屏下来:当录制完视频后,系统会自动将视频保存起来.那win10录屏文件在哪?怎么更改win10录屏保存位置?今天小编就给大家分享一 ...

  3. 解决微信浏览器video标签自动播放视频失效

    正常在浏览器好好的视频,在微信内置浏览器中点击播放全屏,样式也不一样,自动播放失效.罪魁祸首是微信把video标签都成微信规则的了.下面方式可以解决视频播放全屏以及不能自动播放的问题. <vid ...

  4. Android 基于GSYVideoPlayer实现短视频软件上下滑自动播放视频

    先放效果图 两个视频的地址: private final String mp4_a = "http://vfx.mtime.cn/Video/2019/03/19/mp4/190319212 ...

  5. 微信视频怎么录屏?2个方法教您轻松录制!

    案例:怎么录制微信视频通话? [我在和家人或者朋友打微信视频电话时,总是会发生一些有趣的事情,我想把这些美好的画面通过录屏记录下来.但我不知道如何录制微信视频通话?有没有大佬支个招!] 微信视频通话是 ...

  6. Python+BeautifulSoup+Selenium模拟浏览器循环自动播放视频,如哔哩哔哩某个UP主的视频

    1.前言 计算机的出现,推动了人类社会的进步,使得人们更高效的工作或是生活.当我们很"懒"的时候,计算机就能站出来,帮助我们做一些我们觉得浪费时间的事情了.你嫌用手点鼠标麻烦,计算 ...

  7. PPT放映时无法自动播放视频,同时自动播放两个视频

    PPT放映时无法自动播放视频,同时自动播放两个视频 选中视频,设置为自动播放模式 如果放映时仍不能自动播放 文件→选项→高级→显示 将"禁用幻灯片放映硬件图形加速"勾选 同时播放两 ...

  8. Unity功能记录(一) ------ 截图/录屏保存到相册(Android/iOS横屏竖屏都可以)

    截屏和录屏unity端代码都已经分享过 : Unity功能记录(十七) ------ 截屏功能 Unity插件(二) ------ NatCorder(录屏保存到相册) 但是之前一个个的其实并没有用在 ...

  9. 如何阻止YouTube在iOS,Android和Web上自动播放视频

    Over at YouTube, they love it when you watch more YouTube. If you're sick of YouTube automatically q ...

最新文章

  1. Blend for Visual Studio 2013
  2. SourceTree 3.0.17如何跳过注册进行安装? — git图形化工具(一)
  3. JavaWeb 基于Session的用户登陆注销实现
  4. spfa 判断负环 (转载)
  5. 30分钟全面解析-SQL事务+隔离级别+阻塞+死锁
  6. aspose 换行写_aspose.word 换行符 aspose.words换行符
  7. 2018.7.3 JS实现增删改查没有连接数据库
  8. 揭晓 2020 年增长最快的技术职位,PHP 成为潜力股!
  9. route命令(详细)
  10. 2019最新python下载安装详解
  11. 欧几里德与扩展欧几里德算法
  12. Processing笔记05—贪吃蛇小游戏
  13. 关于2012(世界末日)
  14. 计算机二级C语言-B程序修改题
  15. flutter - 强制横屏/竖屏
  16. 3D 中的方位与角位移(旋转矩阵、欧拉角、四元数)
  17. 微信小程序-监听屏幕滚动
  18. NeurlPS2020:Neuron-level Structured Pruning using Polarization Regularizer(polarization正则化技术)
  19. 三维可视化技术的应用现状及发展前景
  20. PAT甲级 1068

热门文章

  1. 棋牌游戏的真谛是什么
  2. delphi 获取打印机默认纸张_在DELPHI中实现打印的预览
  3. 想成为电脑高手必须掌握的八个cmd 命令
  4. 用示波器看电感断电瞬间电压波形为什么是上下来回变换(阻尼振荡)而不是慢慢的变为0v?
  5. EtherCAT状态机控制和状态
  6. “松果”团队分拆出“大鱼” 小米芯片业务扩张加速
  7. 自主可控CPU架构系列
  8. win10任务栏一点就卡死或闪黑屏解决办法
  9. 2007年夏天在北大软件学院的一次讲课
  10. v2ray 搭建的服务器连接后出现超时