html滚动条自动翻页,Web UI自动化测试-滚动条操作 scrollTop、scrollHeight与clientHeight的重要关系...

前端开发中 动态效果是由js实现的,所以这个滚动的动作也是js实现的

滚动条要分清楚是系统自己的滚动条还是元素自己的滚动条

系统滚动条:

# scrollIntoView() 元素与页面顶部对齐 如果顶部有个遮罩层 就可能看不到。

scrollIntoView(false) 与页面底部对齐

driver.execute_script("arguments[0].scrollIntoView(false);", ele)

window.scrollTo(0,document.body.scrollHeight)"

直接滚动到页面底部 (常用于要用翻页控件):

driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")

直接滚动到页面顶部:

driver.execute_script("window.scrollTo(document.body.scrollHeight,0)")

原生scrollbar

scrollTop

定义:获取或设置元素的内容向上滚动的像素值

clientHeight

定义:clientHeight = CSS height + CSS padding + 水平滚动条的高度

scrollHeight

定义:只读属性是一个元素的所含的高度的测定,包括由于溢出内容在屏幕上不可见的。

关系公式:element.scrollHeight - element.scrollTop === element.clientHeight

解释:此公式可以用于判断是否滚动到底

dom属性

scrollTop: 获取或设置一个元素的内容垂直滚动的像素数,当一个元素的内容没有产生垂直方向的滚动条,那么它的 scrollTop 值为0

定义:获取或设置元素的内容向上滚动的像素值

二、clientHeight

定义:clientHeight = CSS height + CSS padding + 水平滚动条的高度

三、scrollHeight

定义:只读属性是一个元素的所含的高度的测定,包括由于溢出内容在屏幕上不可见的。

这是一个只读属性,是元素内容高度的度量,包括由于溢出导致的视图中不可见的内容。注意:scrollHeight在没有滚动条的情况下,它的值跟下面要介绍的clientHeight相同。scrollHeight包括元素的padding,但不包括元素的border和margin

关系公式:element.scrollHeight - element.scrollTop === element.clientHeight

解释:此公式可以用于判断是否滚动到底

var ele = document.getElementById("test");

//判断元素是否出现了滚动条

if(ele.scrollHeight > ele.clientHeight) {

//设置滚动条到最底部

ele.scrollTop = ele.scrollHeight;

}

中间渲染时间差会导致错误的滚动距离。使用了延迟进行设置,如下:

if(ele.scrollHeight > ele.clientHeight) {

setTimeout(function(){

//设置滚动条到最底部

ele.scrollTop = ele.scrollHeight;

},500);

}

browser.execute(function (scrollbarSelector) {

let scrollbar = document.evaluate(scrollbarSelector, document).iterateNext();

if (scrollbar.scrollHeight > scrollbar.clientHeight) {

scrollbar.scrollTop = scrollbar.scrollHeight;

} else  {scrollbar.scrollTop = 0;}

}, scrollbarSelector, 2000)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值