目的:
(1)滑动页面的滚动条到页面的最下方
(2)滑动页面的滚动条到页面的某个元素
(3)滑动页面的滚动条向下移动摸个数量的像素
测试网址:
http://www.baidu.com
实例代码:
# coding=utf-8
from selenium import webdriver
import unittest
import traceback
import time
class TestDemo(unittest.TestCase):
def setUp(self):
#启动Chrome浏览器
self.driver=webdriver.Chrome(executable_path="H:\\ruanjian\\Python\\chromedriver_win32\\chromedriver")
def test_scroll(self):
url="https://www.nowcoder.com/recommend"
#访问牛客网官网
try:
self.driver.get(url)
#使用JavaScript的scrollTo函数和document.body.scrollHeight参数
# 将页面的滚动条滑动到页面的最下方
self.driver.execute_script\
("window.scrollTo(100,document.body.scrollHeight);")
#停顿3秒,用于人工验证滚动条是否滑动到指定的位置
#根据测试需要,可注释下面的停顿代码
time.sleep(3)
#使用JavaScript的scrollView函数将被遮挡的元素滚动到可见屏幕上
#scrollView(true)表示将元素滚动到屏幕中间
#scrollView(false)表示将元素滚动到屏幕底部
self.driver.execute_script\
("document.getElementById('choice').scrollIntoView(true);")
# 停顿3秒,用于人工验证滚动条是否滑动到指定的位置
# 根据测试需要,可注释下面的停顿代码
time.sleep(3)
#使用JavaScript的scrollBy方法,使用0和400横纵坐标参数,
#将页面纵向向下滚动400像素
self.driver.execute_script("window.scrollBy(0,400);")
# 停顿3秒,用于人工验证滚动条是否滑动到指定的位置
# 根据测试需要,可注释下面的停顿代码
time.sleep(3)
except Exception as e:
#打印异常堆栈信息
print(traceback.print_exc())
def tearDown(self):
self.driver.quit()
if __name__ == '__main__':
unittest.main()