python自动化测试selenium执行js脚本实现示例
作者:aovenus 发布时间:2023-10-23 06:41:58
标签:selenium,JS,自动化测试,脚本执行
WebDriver有2个方法执行Java Script脚本。
(1)同步执行:execute_script
(2)异步执行:execute_async_script
from selenium import webdriver
from time import sleep
class TestScriptss(object):
def setup(self):
self.driver = webdriver.Chrome()
self.driver.get(http://www.baidu.com)
#执行js提示框,并点确定
def test_scripts(self):
self.driver.execute_script("alert('test')")
sleep(2)
self.driver.switch_to.alert.accept()
self.driver.quit()
#执行脚本获取当前页面标题
def test_scripts(self):
js = "return document.title"
title = self.driver.execute_script(js)
print(title)
sleep(2)
self.driver.quit()
#格式化文本框
def test_format(self):
js = 'var q = document.getElementById("kw"); q.style.border="10px solid red"'
self.driver.execute_script(js)
sleep(5)
self.driver.quit()
#通过脚本实现页面滚动
def test_scroll(self):
self.driver.find_element_by_id('kw').send_keys('selenium test')
self.driver.find_element_by_id('su').click()
sleep(2)
#搜索结果页面滚动
js = 'window.scrollTo(0, document.body.scrollHeight)'
# 同步执行
self.driver.execute_script(js)
#异步执行
# self.driver.execute_async_script(js)
sleep(2)
self.driver.quit()
以上来自:极客时间课程:selenium自动化测试学习总结。
来源:https://blog.csdn.net/aovenus/article/details/121181145


猜你喜欢
- 1、获取当前年月日时分秒# -*- encoding=utf-8 -*-import datetimenow = datetime.date
- 基本介绍约束用于确保数据库的数据满足特定的商业规则在mysql中,约束包括:not null,unique,primary key,fore
- mechanize是对urllib2的部分功能的替换,能够更好的模拟浏览器行为,在web访问控制方面做得更全面。结合beauti
- MySQL编译参数多而复杂,让新手感到很头大,如果是正式生成环境安装MySQL,没有充足的时间去研究每一个参数代表的意义,个人建议使用余洪春
- 调用:var pageChange = function (index) { &n
- 一、什么是线程?线程顾名思义,就是一条流水线工作的过程,一条流水线必须属于一个车间,一个车间的工作过程是一个进程。车间负责把资源整合到一起,
- 当产品走到HTML Coding这块,多浏览器的测试是很重要,也很麻烦的一个环节。现在大家主要是保证IE6,7及Firefox的一致。bro
- 图像融合按照一定的比例将两张图片融合在一起addWeighted()方法:参数1第一张图片矩阵参数2第一张图片矩阵的权重参数3第二张图片矩阵
- 环境Win10Python3.6.6Django2.1.3中间件作用 中间件用于全局修改Django的输入或输出。中间件常见用途 缓存会话认
- 用python实现文件夹下的成批文件格式转换我们对于文件转换的需求很大,甚至于对于图片的格式,JPG和PNG格式在肉眼看来都没什么差别,但是
- sql 在使用中每次查询都会生成日志,但是如果你长久不去清理,可能整个硬都堆满哦,笔者就遇到这样的情况,直接网站后台都进不去了,今天到数据库
- 1、事件概述在MySQL 5.1中新增了一个特色功能事件调度器(Event Scheduler),简称事件。它可以作为定时任务调度器,取代部
- 本篇主要讲述如何基于NUXT的validate方法实现表单的验证。将验证方法封装后,使用的时候只需像:rules="filter_
- 最近有一个需求:将日志以json格式输出, 并且有些字段是logging模块没有的.看了很多源码和资料, 终于搞定, 抽取精华分享出来, 一
- 如下所示:import cv2import osimport numpy as nproot_path = "I:/Images/
- 一、什么是组件组件 (Component) 是 Vue.js 最强大的功能之一。组件可以扩展 HTML 元素,封装可重用的代码。二、组件用法
- 一、and:在Python 中,and 和 or 执行布尔逻辑演算,如你所期待的一样,但是它们并不返回布尔值;而是,返回它们实际进行比较的值
- 前言order by满足两种情况,会使用 index 方式排序:order by语句使用索引最左前列(最左匹配法则)where子句和orde
- 如下所示:#!/usr/bin/env pythonimport serialimport timeimport threadclass M
- Python偏函数Python偏函数和我们之前所学习的函数传参中的缺省参数有些类似,但是在实际应用中还是有所区别的,下面通过模拟一个场景一步