首页 > 其他分享 >js如何操作video标签

js如何操作video标签

时间:2023-06-20 18:24:11浏览次数:33  
标签:document 设置 标签 js video querySelector 播放

一.简介

在做web ui自动化时,遇到操作视频的时候有时比较让人头疼,定位时会发现只有一个<video>标签,用selenium来实现的话比较麻烦,使用js后我们只需定位到video标签,然后通过js 中处理video的相关属性和方法就可实现,我们继续往下看。

二.实例用法

1.获取视频的总时长(duration)

# document.querySelector('video').duration  # js语法
js = "return document.querySelector('video').duration"
print(driver.execute_script(js))

2.获取当前播放的时长(currentTime)

js="return document.querySelector('video').currentTime"

currentTime还可以指定当前播放的时长

# 控制进度
time_list = [5, 30, 40, 50, 60, 70, 80, 90, 100]  # 秒数
for i in time_list:
    js = "document.querySelector('video').currentTime="+str(i)
    driver.execute_script(js)
    time.sleep(2)

3.判断当前视频是播放还是暂停状态(paused)

# 判断视频处于暂停还是播放  true暂停,false播放
js = "return document.querySelector('video').paused"
driver.execute_script(js)

4.暂停:pause(),播放:play()视频

# 暂停
js = "document.querySelector('video').pause()"
driver.execute_script(js)
# 播放
js = "document.querySelector('video').play()"
driver.execute_script(js)

5.设置播放倍数(playbackRate)

# 设置播放倍数
js = "document.querySelector('video').playbackRate=10"  # 设置10倍数播放
driver.execute_script(js)

当你在web端刷课/刷剧时,苦于页面设置进度最快也就三倍速,此时playbackRate可以帮助你解决这个烦恼

6.设置清晰度(src)

# 设置清晰度,通过设置播放源来设置
js = "document.querySelector('video').src='xxxx'"

设置清晰度是通过设置video标签中src属性来实现的,因此需要先知道src播放源

7.设置视频播放音量大小(volume)

# js = "retrun document.querySelector('video').volume"  # 获取当前音量大小
js_su = "document.querySelector('video').volume=1"  # 设置当前音量为最大
driver.execute_script(js_su)

volume的值:0表示音量最小,1表示最大,0.x表示设置音量大小为x0%(x为1-9数字)

若当前视频是静音状态,此时设置volume是没有效果的,因为执行volume 属性的取值范围为 0(静音)到 1(最大音量),不包括 -1(取消静音)。我们可以通过设置muted来取消静音状态后再去设置音量大小。

js = "document.querySelector('video').muted=false"  # 解除禁,会暂停视频

muted为false是表示解除静音,此时视频会暂停。为true是开始静音。

8.设置循环播放(loop)

# loop是否循环播放,true设置循环,false不循环
# js = "return document.querySelector('video').loop"  # 判断当前是否处于循环状态
js = "document.querySelector('video').loop=true"
driver.execute_script(js)

三.其它用法

js官网参考:https://developer.mozilla.org/en-US/docs/Learn/Performance/video

poster:视频封面

preload:预加载

autoplay:自动播放

controls:浏览器自带的控制条

width:视频宽度

height:视频高度

四.遗留问题

本人学习后发现有两个问题暂没解决,知道的小伙伴可留言告知

1.全屏/退出全屏(chatgpt说的是requestFullscreen()可执行全屏,但我试了没有反应,本人谷歌浏览器)

2.获取视频弹幕信息

标签:document,设置,标签,js,video,querySelector,播放
From: https://www.cnblogs.com/lihongtaoya/p/17494369.html

相关文章

  • JSON 对象 与 字符串 的 相互转化
    一、JSON——》Str1.JSON对象转化为字符串StringobjStr=JSON.toJSONString(obj);2.JSON数组转化为字符串StringarrStr=JSON.toJSONString(arr);二、Str——》JSON1.字符串解析JSON对象JSONObjectobj=JSON.parseObject("String类型......
  • 一键hook js Crypto库的加密方法
    一键hookjsCrypto库的加密方法//一键HookCrypto几个基本的方法AESDES3DESHmacSHARSA(function(){'usestrict';console.log("Hook脚本初始化成功");//过dubuggervarconstructorEx=constructor;Function.prototype.constructor=func......
  • js加密与java解密的RSA(公钥/私钥)算法
    前言:公司用的加密算法是对称密钥加密算法,服务器上的公钥与客户端的私钥都是相同的,如果不小心泄露或者通过反编译软件把客户端重新编译就会泄露密钥,这样加密后的数据就不安全了。商量使用非对称密钥RSA来解决这种问题,非对称密钥分为公钥和私钥,公钥可以公开给客户端分发给所有......
  • 前端面试题(js)
    1.this解析器在调用函数时,每次会向函数内部传递一个隐含的参数,这个隐含的参数就是this,this指向的是一个对象,根据函数调用方式的不同,函数会指向不同的对象。(1)以函数形式调用时,this永远指向window(2)以方法的形式调用时,this指向调用方法的对象(3)当以构造函数形式调用时,this指......
  • 【HarmonyOS】如何解决智能穿戴设备中swiper组件右滑与系统退出应用冲突问题(API6 JS)
    【关键字】API6、JS、swiper组件、智能穿戴、setSwipeToDismiss【问题描述】使用API6JS开发智能穿戴设备HarmonyOS应用,在首页使用swiper组件时,右滑swiper时会退出应用,无法实现swiper右滑效果,效果如下所示:【问题分析与原因】当页面栈只有一个页面时,默认滑动事件分发会让应用退出,而......
  • js base64编解码
     在JavaScript中,有两个原生支持的函数被分别用来处理解码和编码Base64字符串:btoa():“btoa”应读作“binarytoASCII”,atob():“atob”应读作“ASCIItobinary” varstr='eyJjb2RlIjoyMDAsIm1lc3NhZ2UiOiJPSyJ9'//base64字符串/ASCII字符vardata=atob(st......
  • Servlet&JSP思维导图
    ......
  • UWB定位 三基站加一个标签UWB相关资料 dwm1000模块 uwb定位 ds-twr测距 dw1000模块,
    UWB定位三基站加一个标签UWB相关资料dwm1000模块uwb定位ds-twr测距dw1000模块,双边双向测距,研创物联代码,最多支持4基站8标签测距,基站和标签、信道、速率等配置可通过USB虚拟串口进行切换,支持连接官方上位机(有QT5源码),可实现测距显示及定位坐标解算并显示位置,原理图,PCB,手册等......
  • 图书馆管理系统代码源码(php+css+js+mysql) 完整的代码源码,系统使用B/S架构。
    图书馆管理系统代码源码(php+css+js+mysql)完整的代码源码,系统使用B/S架构。优化过的界面,拥有管理员和普通用户,普通用户可注册登录,管理员可登录,功能齐全。管理员可管理普通用户,增加其他管理员,增添图书,借还书操作,查看已还书。普通用户,可在线查看现有图书,和自己已借图书。推荐使用php......
  • 选题系统代码源码(php+css+js+mysql) 完整的代码源码,系统使用B/S架构。
    选题系统代码源码(php+css+js+mysql)完整的代码源码,系统使用B/S架构。优化过的界面,拥有管理员、审核员、教师和学生这四种身份登录方式和对应功能,功能齐全。推荐使用phpstudy+navicat搭建和管理项目!服务:提供现成代码,提供环境搭建相关文档。选题系统代码源码是一套完整的代码源码,采......