python中利用js操作video标签

一.简介

在做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%x1-9数字)

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

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

mutedfalse是表示解除静音,此时视频会暂停。为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()可执行全屏,但我试了没有反应,本人谷歌浏览器)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
video标签默认情况下,在部分浏览器上无法拖动进度条进行快进操作。这个问题可以通过一些方法来解决。首先,在Python,您可以使用后端来提供视频文件流,并通过video标签的src属性将视频链接到页面上。这样,您可以在前端使用video标签来展示视频,并且可以正常拖动进度条进行快进操作。另外,您也可以通过在video标签添加controls属性,来显示视频控制条,这样用户可以方便地操作进度条。 此外,如果您使用的是Internet Explorer浏览器,您可以通过编辑注册表来解决问题。具体地,您可以通过打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\CommandBar路径,并对其进行相应的设置。这样可以改变浏览器的默认行为,使得video标签的进度条能够正常拖动。 以上信息参考自howtogeek网站上的一篇文章,您可以访问以下链接获取更详细的指导。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [关于前端video标签视频无法拖动进度条快进问题(Django)](https://blog.csdn.net/hpl980342791/article/details/125945461)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [ie video标签进度条_通过删除命令条最大化IE7标签条空间](https://blog.csdn.net/cum88284/article/details/109040233)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值