问答详情

如何使用Python脚本完成视频播放?

639次观看
标签: 如何使用 脚本 视频播放
老师回答

一、使用pyautogui库获取屏幕对应坐标

因为使用XPath无法点击到页面的播放按钮,所以使用pyautogui库进行对应位置的点击。

屏幕尺寸为1920×1080,在不最大化Chrom浏览器的情况下,获取到播放按钮的坐标为(676, 860)

运行此程序,可以每秒输出鼠标对应的位置

gainPosition.py

import time

import pyautogui

try:

# 获取当前屏幕的尺寸

screenWidth, screenHeight = pyautogui.size()

# 打印当前屏幕的尺寸

print("Screen size: (%s %s)n" % (screenWidth, screenHeight))

while True:

# 获取当前鼠标所停留位置的的坐标

x, y = pyautogui.position()

# 打印出当前鼠标所停留位置的的坐标

print("Position : (%s, %s)n" % ( x, y))

# 每1s打印一次

time.sleep(1)

except KeyboardInterrupt:

print('end')

二、使用selenium库完成视频播放

run.py

from selenium import webdriver

import time

import pyautogui

import os

from selenium.webdriver.common.keys import Keys

#要在Chrome浏览器中安装插件ChromeDriver插件,放到anaconda目录中

#打开Chrome浏览器

options = webdriver.ChromeOptions()

options.binary_location = r"D:GoogleChromeApplicationchrome.exe"

myDriver = webdriver.Chrome(options=options)

#等3秒

time.sleep(3)

#打开要完成视频播放的网站第一节,扫码进行登录

myDriver.get(r'https://mooc1-1.chaoxing.com/mycourse/studentstudy?chapterId=383599952&courseId=215813776&clazzid=35390146&enc=9ff388843e2f221735b6f5fadb6f0ced')

time.sleep(10)

#点击对应坐标按钮位置播放

pyautogui.click(676, 860)

#因为每节的视频没有超过15分钟,所设置等500秒

time.sleep(900)

#点击第二节

#打开开发者模式,使用开发者工具使用检查器点击对应位置,右键copy full Xpath,复制到r''中,.click()即点击了对应位置

myDriver.find_element_by_xpath(r'/html/body/div[4]/div[1]/div[2]/div[1]/div/div[1]/div[2]/h4/a/span').click()

time.sleep(3)

#点击对应坐标按钮位置播放

pyautogui.click(676, 860)

#因为每节的视频没有超过15分钟,所设置等500秒

time.sleep(900)

#除了r''中放要完成视频播放的对应章节的xpath,其余代码同上一段

免费直播

    精选课程
    相关推荐
    python程序设计主要学什么?
    魏老师 Python编程

    1、Python语言基础

    学Python最基础知识,如Python3、数据类字符串、函数、类、文件操作阶段课程结束后,学员需要完成Pygame实战飞机大战、2048等项目。

    2、Python语言高级

    主要学习Python库、正则表达式、进程线程、爬虫、遍历以及MySQL数据库。

    3、Python、web开发

    主要学习HTML、CSS、JavaScript、jQuery等前端知识,掌握python三大后端框架(Django、 Flask以及Tornado)。需要完成网页界面设计实战;能独立开发网站。

    4、Linux基础

    主要学习Linux相关的各种命令,如文件处理命令、压缩解压命令、权限管理以及Linux Shell开发等。

    5、Linux运维自动化开发

    主要学习Python开发Linux运维、Linux运维报警工具开发、Linux运维报警安全审计开发、Linux业务质量报表工具开发、Kali安全检测工具检测以及Kali 密码破解实战。

    6、Python爬虫

    主要学习python爬虫技术,掌握多线程爬虫技术,分布式爬虫技术。

    7、Python数据分析和大数据

    主要学习numpy数据处理、pandas数据分析、matplotlib数据可视化、scipy数据统计分析以及python 金融数据分析;Hadoop HDFS、python Hadoop MapReduce、python Spark core、python Spark SQL以及python Spark MLlib。

    ​8、Python机器学习

    主要学习KNN算法、线性回归、逻辑斯蒂回归算法、决策树算法、朴素贝叶斯算法、支持向量机以及聚类k-means算法。

    python中append()和extend()有什么区别?
    刘老师 Python编程

    python列表中,append()和extend()都可以在在原有列表上增加对象,但是使用起来有很大区别。append()用于在列表末尾添加新的对象,任意对象都是可以的,列表只占一个索引位,会修改原来的列表。extend()向列表尾部追加一个列表,对象必须是一个可以迭代的序列,将列表中的每个元素都追加进来,会在已存在的列表中添加新的列表内容。详情请看本文。

    一、append()

    用于在列表末尾添加新的对象,列表只占一个索引位,在原有列表上增加。

    1、语法

    list.append(obj)

    2、参数obj 

    向列表中添加一个对象obj ,即添加到列表末尾的对象;

    任意对象都是可以的;

    直接将整个obj放入列表末尾。

    3、返回值

    无返回值,但是会修改原来的列表。

    4、使用实例

     lia.append(lib)
     lia>>   ['aa', 1, 'bb', None, ['cc', 2, {'dd': 3}]]

    二、extend() 

    向列表尾部追加一个列表,将列表中的每个元素都追加进来,在原有列表上增加。

    1、语法

    list.extend(seq)

    2、参数seq 

    把一个序列seq的内容添加到列表中,即元素列表;

    对象必须是一个可以迭代的序列;

    将seq打散后依次放入列表末尾。

    3、返回值

    无返回值,但会在已存在的列表中添加新的列表内容。

    4、使用实例

    lia.extend(lib)      不能用变量接收
    
    lia>>  ['aa', 1, 'bb', None, 'cc', 2, {'dd': 3}]

    以上就是python中append()和extend()的对比分析,希望能对你有所帮助哦~

    注册电脑版

    版权所有 2003-2020 广州环球青藤科技发展有限公司