【Selenium自动化测试】调用JavaScript与处理HTML5视频播放

这篇具有很好参考价值的文章主要介绍了【Selenium自动化测试】调用JavaScript与处理HTML5视频播放。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

JS调用

有些页面操作不能依靠WebDriver 提供的API 来实现,如浏览器滚动条的拖动。这时就需要借助JavaScript 脚本。WebDriver 提供了execute_script()方法来执行JavaScript 代码。
下面演示一个用js调整浏览器滚动条位置的例子

from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.set_window_size(800,600)

driver.find_element(By.ID,'kw').send_keys("selenium")
driver.find_element(By.ID,'su').click()

js = "window.scrollTo(100,450);"
driver.execute_script(js)

sleep(2)
driver.quit()

window.scrollTo()方法用于设置浏览器窗口滚动条的水平位置和垂直位置。第一个参数
表示水平的左边距,第二个参数表示垂直的上边距。
打开百度首页,然后调整窗口大小,使得滚动条可以显示出来,然后通过execute_script()方法执行JS代码来控制浏览器滚动条的位置。

除此之外,还可利用JS对特殊的标签文本框中输入内容,例如<textarea>
文本框的 HTML 代码:

<textarea id="id-p" style="width: 98%" cols="50" rows="5" class="textarea">
</textarea>

此类标签虽然可以被定位到,但不能通过send_keys()在文本框中输入文本信息,所以这种情况下,就需要借助JavaScript代码输入文本信息。

from selenium import webdriver
import os
from time import sleep
driver = webdriver.Chrome()
filepath = os.path.abspath('./')

jsdemo = 'file:///' + filepath + '\jsdemo.html'
print(jsdemo)

driver.get(jsdemo)

sleep(2)
text = "input textjs"
js = "document.getElementById('id-p').value='" + text + "';"
driver.execute_script(js)

sleep(2)
driver.quit()

首先,定义要输入的内容 text。然后,将text 与JavaScript 代码通过“+”进行拼接,这样做的目的是为了方便自定义输入内容。最后,通过execute_script()执行JavaScript 代码。

HTML5视频播放处理

WebDriver 支持在指定的浏览器上测试HTML5,另外,还可以使用JavaScript 测试这些功能,这样就可以在任意浏览器上测试HTML5 了。
大多数浏览器使用插件(如Flash)播放视频,但是,不同的浏览器需要使用不同的插件。HTML5 定义了一个新的元素,指定了一个标准的方式嵌入电影片段

下面演示一个自动化测试<video>的例子:

from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

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

video = driver.find_element(By.ID,"preview-player_html5_api")

# 返回播放文件地址
url = driver.execute_script("return arguments[0].currentSrc;",video)
print(url)

# 播放视频
print("start")
driver.execute_script("arguments[0].play()",video)


# 播放15s
print("播放15s")
sleep(15)

# 暂停视频
print("stop")
driver.execute_script("arguments[0].pause()",video)

driver.quit()

JavaScript 有个内置的对象叫作argumentsarguments 包含了函数调用的参数数组,[0]
表示取对象的第1 个值。currentSrc 返回当前音频/视频的URL。如果未设置音频/视频,则返回空字符串。load()play()pause() 控制视频的加载、播放和暂停。

以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!文章来源地址https://www.toymoban.com/news/detail-826273.html

到了这里,关于【Selenium自动化测试】调用JavaScript与处理HTML5视频播放的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 一文4000字使用JavaScript+Selenium玩转Web应用自动化测试

    在软件开发过程中, 测试是功能验收的必要过程, 这个过程往往有测试人员参与, 提前编写测试用例, 然后再手动对测试用例进行测试, 测试用例都通过之后则可以认为该功能通过验收. 但是软件中多个功能之间往往存在关联或依赖关系, 某一个功能的新增或修改可能或影响到其

    2023年04月22日
    浏览(57)
  • 【Selenium自动化测试】下拉框处理

    在Web自动化测试过程中,有时会遇到类似下面的情景。 这就是下拉框,对于下拉框,WebDriver同样有提供 Select 类来处理这类的下拉框,常见方法如下: select_by_value():通过value 值定位下拉选项。 select_by_visible_text():通过text 值定位下拉选项。 select_by_index():根据下拉选项的索

    2024年02月05日
    浏览(67)
  • Selenium自动化测试处理文件上传

    在Web自动化测试过程中,有时候我们会遇到文件上传的场景,对于文件上传,一般有两种情况。 1、input标签文件上传 带有input标签并且type属性的值为file可直接使用send_keys方法上传文件。 此时就非常简单了,我们可以直接通过send_keys输入图片路径即可 2、非input标签AutoIt上传

    2024年02月16日
    浏览(49)
  • 自动化测试——selenium多浏览器处理

    用户使用的浏览器(frefox,chrome,IE 等) web应用应该能在任何浏览器上正常的工作,这样能吸引更多的用户来使用。 是跨不同浏览器组合验证网站或web应用程序功能的过程 是 兼容性测试的一个分支,用于保持功能和质量的一致性 适用于面向客户的网站和组织内部使用的站点 py

    2024年02月11日
    浏览(56)
  • Selenium+Python自动化测试之验证码处理

    验证码识别技术 (很难达到100%) 添加Cookie (*****五星推荐) 逻辑方式: 1:打开验证码所在页面,截图。获取验证码元素坐标,剪切出验证码图片,识别 以途牛为例 代码: 步骤: 1:获取指定cookie: get_cookie(cookie名) 2:获取本网站所有本地cookies: get_cookies() 3:添加cookie:ad

    2024年02月04日
    浏览(44)
  • (九) web自动化测试-selenium处理页面的弹框

    input标签可以直接使用send_keys(file path)上传文件 方法: el = driver.find_element_by_id(‘上传按钮id’) el.send_keys(“文件路径+文件名”) 示例: 打开链接:https://image.baidu.com/ 点击识别上传按钮 点击上传按钮 选择本地照片上传 在页面操作的时候会遇到javascript生成的alert、comfirm和pro

    2023年04月11日
    浏览(61)
  • 软件测试/测试开发丨Selenium Web自动化多浏览器处理

    本文为霍格沃兹测试开发学社学员学习笔记分享 原文链接:https://ceshiren.com/t/topic/27185 用户使用的浏览器(firefox,chrome,IE 等) web 应用应该能在任何浏览器上正常的工作,这样能吸引更多的用户来使用 是跨不同浏览器组合验证网站或 web 应用程序功能的过程 是兼容性测试的一个

    2024年02月09日
    浏览(64)
  • Python调用selenium库实现自动化

    以下是一个使用Python实现简单自动化的示例代码,该代码使用selenium库来自动化执行Google搜索并返回搜索结果的标题和URL  简单注释: 导入 selenium 库和 selenium.webdriver.common.keys 模块。 创建一个 WebDriver 对象,指定使用Chrome浏览器。 使用 driver.get() 方法访问Google搜索页面。 使用

    2023年04月11日
    浏览(84)
  • Selenium自动化测试实战之自动化测试基础

    自动化测试概念 是把以人为驱动的测试转化为机器执行的一种过程,它是一种以程序测试程序的过程。 自动化只是测试方式,跟测试阶段无关。 可以把任何测试工作写一个程序自动化实现都可以称为自动化测试。 selenium自动化测试: 2023最新的Selenium自动化测试实战,没有比

    2024年02月13日
    浏览(69)
  • selenium 自动化测试—如何搭建自动化测试环境?

    🍅 视频学习: 文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 最近也有很多人私下问我,selenium学习难吗,基础入门的学习内容很多是3以前的版本资料,对于有基础的人来说,3到4的差别虽然有,但是不足以影响自己,

    2024年02月19日
    浏览(97)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包