• 测试HTML5语言实现的视频播放器


    获取HTML5语言实现的视频播放器视频文件的地址、时长,控制播放器进行播放或暂停播放等操作。

    #!usr/bin/env python  
    #-*- coding:utf-8 -*-  
    #测试HTML5语言实现的视频播放器
    
    import unittest
    from selenium import webdriver
    import time
    
    class TestDemo(unittest.TestCase):
        def setUp(self):
            self.driver = webdriver.Chrome()
    
        def test_HTML5VideoPlayer(self):
            url = 'http://www.w3school.com.cn/tiy/loadtext.asp?f=html5_video_simple'
            #访问HTML5语言实现的播放器网页
            self.driver.get(url)
            #打印访问网页的页面源代码,供读者学习
            print(self.driver.page_source)
            #获取页面中的video标签元素对象
            videoPlayer = self.driver.find_element_by_tag_name('video')
            #使用JavaScript语句,通过播放器内部的currentSrc属性获取视频文件的网络存储地址
            videSrc = self.driver.execute_script("return arguments[0].currentSrc;",videoPlayer)
            #打印网页中视频存放地址
            print(videSrc)
            self.assertEqual(videSrc,'http://www.w3school.com.cn/i/movie.ogg')
            #使用JavaScript语句,通过播放器内部的duration属性获取视频文件的播放时长
            videoDuration = self.driver.execute_script
                ("return arguments[0].duration;",videoPlayer)
            #打印视频时长
            print(videoDuration)
            self.assertEqual(int(videoDuration),3)
            #使用JavaScript语句,通过调用播放器内部的play()方法来播放影片
            self.driver.execute_script("return arguments[0].play();",videoPlayer)
            time.sleep(2)
            #播放2秒后,使用JavaScript语句,通过调用播放器内部的pause函数来暂停播放影片
            self.driver.execute_script("return arguments[0].pause();",videoPlayer)
            time.sleep(3)
            #将暂停视频播放页面进行截屏,并保存为D盘的videoPlay_pause.jpg文件
            self.driver.save_screenshot('e:\videoPlay_pause.png')
    
        def tearDown(self):
            self.driver.quit()
    
    if __name__ == '__main__':
        unittest.main()

    说明:

           控制视频播放器的原理均需要使用JavaScript语句来调用视频播放器内部的属性和接口来完成我们想要做的操作。

  • 相关阅读:
    爬虫工具包
    用于模型选择的AIC与BIC
    4.数据结构---堆
    海量数据查询
    机器学习---算法汇总目录
    RNN/LSTM/GRU/seq2seq公式推导
    Dropout正则化和其他方法减少神经网络中的过拟合
    查看动态链接库中函数参数类型
    ANSI、ASCII、GB2312、GBK
    Unicode(UTF-8, UTF-16)令人混淆的概念
  • 原文地址:https://www.cnblogs.com/sleeping-cat/p/8278716.html
Copyright © 2020-2023  润新知