zoukankan      html  css  js  c++  java
  • 自动化测试基础篇--Selenium中JS处理滚动条

    摘自https://www.cnblogs.com/sanzangTst/p/7692285.html

    前言

    什么是JS?
    JS就是JavaScript;
    JavaScript 是世界上最流行的脚本语言;
    JavaScript 是属于 web 的语言,它适用于 PC、笔记本电脑、平板电脑和移动电话;
    JavaScript 被设计为向 HTML 页面增加交互性;
    许多 HTML 开发者都不是程序员,但是 JavaScript 却拥有非常简单的语法。几乎每个人都有能力将小的 JavaScript 片段添加到网页中。

    一、JS处理滚动条问题

    1、滚动条回到顶部:
    js="var q=document.getElementById('id').scrollTop=0"
    driver.execute_script(js)
    或者
    js="var q=document.documentElement.scrollTop=0"
    driver.execute_script(js)
    2、滚动条拉到底部:
    js="var q=document.getElementById('id').scrollTop=10000"
    driver.execute_script(js)
    或者
    js="var q=document.documentElement.scrollTop=10000"
    driver.execute_script(js)
    3、滚动条拉到指定位置(具体元素):
    target = driver.find_element_by_id("id_keypair")
    driver.execute_script("arguments[0].scrollIntoView();", target)
    4、通过模拟键盘DOWN(↓)来拖动:
    driver.find_element_by_id("id").send_keys(Keys.DOWN)
    5、scrollTo函数
    --scrollHeight 获取对象的滚动高度。 
    --scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。 
    --scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。 
    --scrollWidth 获取对象的滚动宽度。
     
    #滚动到底部
    js = "window.scrollTo(0,document.body.scrollHeight)"
    driver.execute_script(js)
    #滚动到顶部
    js = "window.scrollTo(0,0)"
    driver.execute_script(js)

    二、参考代码

    复制代码
     1 #!/usr/bin/env python
     2 # -*- coding: utf-8 -*-
     3 # @File    : jss.py
     4 # @Software: PyCharm
     5 from selenium import webdriver
     6 import time
     7 from selenium.webdriver.common.keys import Keys
     8 url = 'http://www.cnblogs.com/sanzangTst/'
     9 browser = webdriver.Firefox()
    10 browser.get(url)
    11 time.sleep(3)
    12 # 拉到底部
    13 js="var q=document.documentElement.scrollTop=10000"
    14 browser.execute_script(js)
    15 
    16 # 回到顶部
    17 js="var q=document.documentElement.scrollTop=0"
    18 browser.execute_script(js)
    19 
    20 # 拖到指定位置
    21 target = browser.find_element_by_id("homepage1_HomePageDays_DaysList_ctl05_DayList_TitleUrl_0")
    22 browser.execute_script("arguments[0].scrollIntoView();", target)
    23 
    24 #滚动到底部
    25 js = "window.scrollTo(0,document.body.scrollHeight)"
    26 browser.execute_script(js)
    27 
    28 #滚动到顶部
    29 js = "window.scrollTo(0,0)"
    30 browser.execute_script(js)
    复制代码
  • 相关阅读:
    微信小程序购物商城系统开发系列-工具篇
    CSS实现导航条Tab切换的三种方法
    最详细win7下手动搭建PHP环境:apache2.4.23+php7.0.11
    读书笔记:《HTML5开发手册》Web表单
    jQuery可拖拽3D万花筒旋转特效
    框架基础:关于ajax设计方案(三)---集成ajax上传技术
    框架基础:ajax设计方案(二)---集成轮询技术
    框架基础:ajax设计方案(一)---集成核心请求
    Apache+PHP+MySQL
    自学 PHP,如何不走弯路?
  • 原文地址:https://www.cnblogs.com/yuer20180726/p/10789384.html
Copyright © 2011-2022 走看看