目的:
(1)滑动页面的滚动条到页面最下方
(2)滑动页面的滚动条到页面某个元素
(3)滑动页面的滚动条向下移动某个数量的像素
测试的网址:
http://www.seleniumhq.org/
代码如下:
from selenium import webdriver import unittest import traceback #导入堆栈类 import time class TestDemo(unittest.TestCase): def setUp(self): #启动Chrome浏览器 self.driver = webdriver.Chrome() self.driver.implicitly_wait(30) def test_scroll(self): url = "http://www.seleniumhq.com/" #访问selenium官网首页 self.driver.get(url) try: #使用JavaScript的scrollTo函数和document.body.scrollHeight参数 #将页面的滚动条滑动到页面的最下方 self.driver.execute_script("window.scrollTo(100, document.body.scrollHeight);") #停顿5秒用于验证滚动条是否滑动到指定位置 time.sleep(5) #使用JavaScript的scrollIntoView函数将被遮挡的元素滚动到可见屏幕上 #scrollIntoView(true)表示将元素滚动屏幕中间 #scrollIntoView(false)表示将元素滚动到屏幕底部 self.driver.execute_script("document.getElementById('choice').scrollIntoView(true);") #停顿5秒用于验证滚动条是否滑动到指定位置 time.sleep(5) #使用JavaScript的scrollBy方法,使用0和400横坐标参数 self.driver.execute_script("window.scrollBy(0,400);") #停顿5秒用于验证滚动条是否滑动到指定位置 time.sleep(3) except Exception as e: #打印异常堆栈信息 print(traceback.print_exc()) def tearDown(self): #退出Chrome浏览器 self.driver.quit() if __name__ == '__main__': unittest.main()