随笔 - 301  文章 - 27  评论 - 8  阅读 - 10万

UI自动化测试-32--WebDriver--高级应用-JavaScript的应用操作滑动条

 

from selenium import webdriver
from time import sleep
'''
操作滚动条:
1、滑动到最下方:window.scrollTo(0,document.body.scrollHeight)
2、滑动到最上方:window.scrollTo(0,0)
获取当前窗口的宽:document.body.scrollWidth
获取当前窗口的高:document.body.scrollHeight
'''
driver = webdriver.Chrome()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("storm")
driver.find_element_by_id('su').click()
sleep(2)
js1 = "window.scrollTo(0,document.body.scrollHeight)"
js2 = "window.scrollTo(0,0)"
driver.execute_script(js1)
sleep(3)
driver.execute_script(js2)
sleep(2)

driver.quit()


from selenium import webdriver
from time import sleep
'''
操作滚动条:
1、通过js脚本将纵向滚动条向下移动指定的像素
window.scrollTo(0,300)
'''
driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(20)
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("storm")
driver.find_element_by_id('su').click()
sleep(5)
#向下移动300像素
js = "window.scrollTo(0,300)"
driver.execute_script(js)
sleep(5)
driver.quit()


from selenium import webdriver
from time import sleep
'''
操作滚动条:
1、将滚动条滑动到指定元素上:"arguments[0].scrollIntoView();"
'''
driver = webdriver.Chrome()
driver.maximize_window()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("storm")
driver.find_element_by_id('su').click()
sleep(5)
js = "arguments[0].scrollIntoView()"
ele = driver.find_element_by_xpath('//*[@id="3"]/h3/a')
driver.execute_script(js, ele)

sleep(5)
# driver.quit()

from selenium import webdriver
from time import sleep

'''
操作横向滚动条
"window.scrollTo(document.body.scrollWidth,0)"
'''
driver = webdriver.Chrome()
# driver = webdriver.Firefox()
driver.get("http://www.baidu.com")
driver.find_element_by_id('kw').send_keys("storm")
driver.find_element_by_id('su').click()
driver.set_window_size(500,500) #设定指定大小的窗口,使其出现横向滚动条
js1 = "window.scrollTo(document.body.scrollWidth,0)"
js2 = "window.scrollTo(0,0)"
js3 = "window.scrollTo(200,0)"
driver.execute_script(js1)
sleep(5)
driver.execute_script(js2)
sleep(5)
driver.execute_script(js3)
sleep(5)

driver.quit()

from selenium import webdriver
from time import sleep

'''
操作内嵌滚动条
先切到iframe中,然后滚动即可:"window.scrollTo(0,200)"
'''

driver = webdriver.Chrome()
# driver = webdriver.Firefox()
driver.get("http://sahitest.com/demo/iframesTest.htm")
sleep(2)
driver.switch_to.frame(1)
js = "window.scrollTo(0,200)"
driver.execute_script(js)

sleep(5)
driver.quit()

注释:
'''
1、实现滑动滚动条到指定像素位置的方法。其中x为横坐标,y为纵坐标
window.scrollTo(x,y) 

2、获取当前窗口的高度和宽度
document.body.scrollWidth
document.body.scrollHeight

3、滑动到指定元素位置
arguments[0].scrollIntoView() ,arguments[0] 是指第一个传参
'''



 

posted on   寻不到花的蝶  阅读(236)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
历史上的今天:
2017-02-21 Monkey实例测试
2017-02-21 转载 JDK + Android-SDK + Python + MonkeyRunner 的安装
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示