WebDriver高级应用----操作Web页面的滚动条

目的:

(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()

 


版权声明:本文为pengzhisen123原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。