【Selenium核心技术篇】execute_script方法执行JavaScript操作页面滚动条
2023-09-11 14:17:00 时间
前言
一直想学习自动化测试,但是都没行动,业余时间学习零零碎碎并记录20210415
【Selenium核心技术篇】包含以下内容:
- Selenium实现元素定位(8种)
- Selenium WebDriver
- Selenium WebElement
- Selenium操作from表单
- Selenium操作checkbox和radiobutton
- Selenium操作下拉列表
- Selenium处理弹框
- Selenium三种等待方式
- Selenium等待条件
- Selenium鼠标和键盘事件
- Selenium执行JavaScript脚本
- Selenium屏幕截图
- Selenium之frame的切入和切出
Selenium执行javaScript
WebDriver有两个方法来执行JavaScript,分别是:
- execute_script(同步执行)
- execute_async_script(异步执行)
实操:通过JavaScript实现页面滚动,JavaScript操作滚动条:
from selenium import webdriver
from time import sleep
class casetest(object):
def __init__(self):
self.driver = webdriver.Chrome()
self.driver.get('http://wwww.baidu.com')
def test_execute1(self):
self.driver.execute_script("alert('test')") # 同步执行
sleep(2)
self.driver.switch_to.alert.accept()
def test_execute2(self):
js ='return document.title'
title = self.driver.execute_script(js) # 取到百度的title
print(title)
def test_execute3(self):
js ='var q=document.getElementById("kw");q.style.border="2px solid red"'
self.driver.execute_script(js) # 把百度搜索边框变为红色
sleep(2)
def test_execute4(self):
# 滚动条滚动
self.driver.find_element_by_id('kw').send_keys('留白')
self.driver.find_element_by_id('su').click()
sleep(2)
# 滚动到底部
js = 'window.scrollTo(0,document.body.scrollHeight)'
self.driver.execute_script(js)
sleep(2)
if __name__ == '__main__':
case = casetest()
# case.test_execute1()
# case.test_execute2()
# case.test_execute3()
case.test_execute4()
case.driver.quit()
“永不放弃,总有希望在前面等待!”送给自己,也送给正在阅读文章的博友们~
相关文章
- c#封装DBHelper类 c# 图片加水印 (摘)C#生成随机数的三种方法 使用LINQ、Lambda 表达式 、委托快速比较两个集合,找出需要新增、修改、删除的对象 c# 制作正方形图片 JavaScript 事件循环及异步原理(完全指北)
- 轻松学习JavaScript十四:JavaScript的RegExp对象(正則表達式)
- 你不知道的JavaScript--Item33 跨域总结与解决的方法
- 【学习笔记03】JavaScript调试方式
- 【学习笔记24】JavaScript数组遍历方法习题
- 【学习笔记26】JavaScript字符串的方法
- 【学习笔记27】JavaScript字符串方法的练习
- 前端基础 - JavaScript值Boolean类型的默认转换
- JavaScript - 获取数组最后一个元素(支持一维数组与二维复杂对象数组)多种方法取数组的最后一个元素
- JavaScript: sprite
- 【JavaScript】关于javascript原型的深入理解
- how to optimize javascript performance
- CSS,JavaScript知识点
- Javascript写了一个2048的游戏
- 《JavaScript框架设计》——2.3 require方法
- 使用 NodeJS(JavaScript 和 TypeScript)使用 MS Access (MDB) 文件的 3 种方法
- JavaScript每天一练,锻炼全局预编译和局部预编译,两道练习题(里面附详细解题过程)
- 关于ie的内存泄漏与javascript内存释放
- JavaScript字符串转数字的5种方法及其陷阱
- .Net 与 Javascript 混合编程系列
- 异类的Javascript处理和解析URL的方式
- JavaScript引用类型之Array数组的栈方法与队列方法
- javascript将list转换成树状结构