Selenium页面交互之JS处理滚动条

本文详细介绍了在Selenium自动化测试中如何使用execute_script方法控制滚动条,包括滚动到顶部、底部及指定元素,通过实例展示了在搜狗搜索场景中的应用。

selenium页面交互过程,操作中常见需要点击某个元素,但是页面看不到该元素,需要滑动滚动条,滑到可见处,在进行下一步的操作,那么UI自动化中我们就是使用到execute_script方法进行实现,首先简单介绍一下滑动滚动条的常见语法

滚动条回到顶部

# js="var q=document.getElementById('id').scrollTop=0"

driver.execute_script(js)

# js="var q=document.documentElement.scrollTop=0"

driver.execute_script(js)

滚动条拉到底部

# js="var q=document.getElementById('id').scrollTop=10000"

driver.execute_script(js)

# js="var q=document.documentElement.scrollTop=10000"

driver.execute_script(js)

滚动条拉到指定位置-具体元素

target = driver.find_element_by_id("id_keypair")

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

介绍完上面的语法,我们来简单实操一下,例如打开搜g,进行搜索结果后需要滑动页面点击下一页的操作我们来简单地看看代码怎么写

# -*-coding:utf-8-*-
# author:shichao


from selenium import webdriver
import time as t


dr = webdriver.Chrome()
dr.maximize_window()
dr.implicitly_wait(10)
# 隐式等待10s
dr.get('https://www.sogou.com/')
t.sleep(1)


dr.find_element_by_class_name('sec-input').send_keys(u'自动化测试')
t.sleep(1)
dr.find_element_by_id('stb').click()
t.sleep(1)
# 将滚动条移动到页面的底部
js = "var q=document.documentElement.scrollTop=100000"
dr.execute_script(js)
'''
#若要对页面中的内嵌窗口中的滚动条进行操作,要先定位到该内嵌窗口,在进行滚动条操作 
js="var q=document.getElementById('id').scrollTop=100000" 
driver.execute_script(js)
'''
t.sleep(3)
# 点下一页
dr.find_element_by_id('sogou_next').click()
t.sleep(2)
dr.quit()


以上就是UI自动化中与页面常操作交互,后期会持续更新,简单操作,只求每天进步一点,python都不断地更新,你能力还不更新,还在等什么.

最近小编创建了一个测试爱好者社区 星球欢迎大家加入.

(识别下方二维码持续学习)

公号后台回复"测试""Python"领取系统学习资料,并且希望大家有好的文章,或者有更好的创新,欢迎分享给小石学习,同时也将此文章分享给你的朋友&朋友圈

精彩好文推荐

我造了一个球

Python+selenium+unittest+HTMLTestReportCN单元测试框架分享

selenium之键盘事件实战

Selenium与页面的交互实战

测试工程师必备模板三件套


题图:Python测试社区

(识别上方二维码加测试群)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值