selenium学习之处理HTML5视频播放

这篇博客介绍了如何在selenium中处理HTML5的视频播放。内容涉及到HTML5的元素,以及javascript的arguments对象,重点讲解了load(), play(), pause()等方法的使用。同时提醒在使用find_element_by_xpath()定位元素时要注意元素状态变化,避免遇到问题。" 114541423,10540381,Java实现大根堆排序详解及示例代码,"['数据结构', '排序算法', 'Java编程', '堆排序', '大根堆']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

selenium学习之处理HTML5视频播放

HTML5中定义了新元素,该元素提供了javascript接口和多种的方法和属性,javascript函数有个内置的对象

arguments。arguments对象包含了函数调用的参数数组,[0]表示去对象的第一个值,currentSrc返回当前视频/音频的URL,如果未设置的时候,返回NULL。

并且提供了load(),play(),pause()方法来加载,播放,暂停视频
PS:使用find_element_by_xpath()来定位元素的时候,注意需要一层一层逐层定位,并且有些元素登陆前后的id是有变化的,有些这个根据文档中提供的代码,查了好久的资料才搞定的,注意不要踩坑~~~

# coding=utf-8
from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get("http://videojs.com")

video = driver.find_element_by_xpath('//*[@id="preview-player_html5_api"]')
url = driver.execute_script("return arguments[0].currentSrc;", video)
print(url)
print("开始")
driver.execute_script("return arguments[0].play()", video)
time.sleep(15)
'播放15S
print("结束")
driver.execute_script("return arguments[0].pause()", video)
driver.quit()

'''
from selenium import webdriver
from time import sleep

try:
    driver = webdriver.Firefox()
    driver.get("http://videojs.com/")
    
    #通过xpath来定位元素的时候需要一层一层逐层定位
    video = driver.find_element_by_xpath("/html/body/section[1]/div/video")
 
    #返回播放文件地址
    url = driver.execute_script("return arguments[0].currentSrc;", video)
    print(url)
 
    #播放视频
    print("start")
    driver.execute_script("return arguments[0].play()",video)

    #截图
    driver.get_screenshot_as_file('d:/baidu.png')
        #暂停播放
    print("stop")
    driver.execute_script("return arguments[0].pause()",video)
 
    #暂停5s
    sleep(5)
except BaseException as msg:
    print(msg)
finally:

    driver.quit()

'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值