方法原理:

(1)使用jQuery CSS 操作 - scrollTop() 方法,设置 <div> 元素中滚动条的垂直偏移,语法:$(selector).scrollTop(offset);
(2)若要控制滚动条水平偏移,请使用方法scrollLeft(),语法:$(selector).scrollLeft(offset);
其中selector表示选择器,offset表示偏移量。
样例页面MyJsp.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'MyJsp.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page"><script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){$(".btn1").click(function(){$("#test div").scrollTop(100);});$(".btn2").click(function(){alert($("div").scrollTop()+" px");});
});
</script>
</head><body><div id="test"><div style="border:1px solid black;width:200px;height:200px;overflow:auto">This is some text. This is some text. This is some text. This is sometext. This is some text. This is some text. This is some text. This issome text. This is some text. This is some text. This is some text.This is some text. This is some text. This is some text. This is sometext. This is some text. This is some text. This is some text. This issome text. This is some text. This is some text. This is some text.This is some text. This is some text. This is some text. This is sometext. This is some text. This is some text. This is some text. This issome text. This is some text. This is some text. This is some text.This is some text. This is some text. This is some text.</div></div><button class="btn1">把 scroll top offset 设置为 100px</button><br /><button class="btn2">获得 scroll top offset</button></body>
</html>

View Code

selenium代码:

本例中仅控制滚动条垂直移动

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.TimeoutException;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.ie.InternetExplorerDriver;
import org.openqa.selenium.support.ui.ExpectedCondition;
import org.openqa.selenium.support.ui.WebDriverWait;public class TestScroll {private WebDriver driver;@Beforepublic void setUp(){//loginSystem.setProperty("webdriver.ie.driver", "C:\\Program Files (x86)\\Internet Explorer\\IEDriverServer.exe");driver = new InternetExplorerDriver();String url = "http://localhost:8080/test/MyJsp.jsp";     //l打开测试页面driver.get(url);WebDriverWait wait = new WebDriverWait(driver, 5);try {WebElement webElement = wait.until(new ExpectedCondition<WebElement>() {@Overridepublic WebElement apply(WebDriver webDriver) {return webDriver.findElement(By.id("test"));}});if(webElement==null){System.out.println("页面还未加。。。。");}else{System.out.println("页面加载完成~~~~~~~~~~~");JavascriptExecutor js = (JavascriptExecutor)driver;          //执行js脚本,控制滚动条滚动js.executeScript("$('#test div').scrollTop(100);");Thread.sleep(10000);}} catch (TimeoutException e) {System.out.println("打不开链接。。。。。");e.printStackTrace();} catch (InterruptedException e) {e.printStackTrace();}}@Testpublic void testLogic(){}@Afterpublic void tearDown(){if(driver!=null){driver.quit();}}}

转载于:https://www.cnblogs.com/splvxh/p/4234043.html

使用selenium控制滚动条(非整屏body)相关推荐

  1. 爬虫之selenium控制浏览器执行js代码

    爬虫之selenium控制浏览器执行js代码 selenium可以让浏览器执行我们规定的js代码,运行下列代码查看运行效果 import time from selenium import webdr ...

  2. [Python爬虫] 之五:Selenium 处理滚动条

     selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了. 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的.这时候需要借助滚动条来拖 ...

  3. div横向滚动条_14. Selenium 处理滚动条

    Selenium 处理滚动条 selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的 ...

  4. python滚动条翻页爬取数据_Python网络爬虫之Selenium 处理滚动条【第十四节】

    Selenium 处理滚动条selenium并不是万能的,有时候页面上操作无法实现的,这时候就需要借助JS来完成了 当页面上的元素超过一屏后,想操作屏幕下方的元素,是不能直接定位到,会报元素不可见的. ...

  5. android控制滚动条滚动

    android控制滚动条滚动 运行结果: 主Activity: public class MainActivity extends Activity { private RelativeLayout ...

  6. Windows平台下使用Active Directory对Subversion进行权限控制(非完美解决方案)

    Windows平台下使用Active Directory对Subversion进行权限控制(非完美解决方案) Windows平台下使用Active Directory对Subversion进行权限控制 ...

  7. js设置控制滚动条位置

    js设置控制滚动条位置 注意:scrollLeft,scrollTop是加在 容器 上,不是加载滚动的内容上. 使用: scrollLeftOffset: function () {$('.time- ...

  8. html滚动条怎么置顶,js控制滚动条到最底端(置底)和最顶端(置顶)

    滚动条样式: body { SCROLLBAR-FACE-COLOR: #f892cc; SCROLLBAR-HIGHLIGHT-COLOR: #f256c6; SCROLLBAR-SHADOW-CO ...

  9. 使用Selenium控制已打开的浏览器和网页

    使用Selenium控制已打开的浏览器和网页 之前遇到一个需求,就是需要登录某一个网站然后需要通过selenium从网页上自动获取一些信息:该网站需要通过手机验证码登录,通过selenium自动化登录 ...

最新文章

  1. mysql 去重取出最小值_5000字总结MySQL单表查询,新手看这一篇足够了!
  2. “开店办厂,去望城!” ——望城区市场主体总量突破十万户
  3. Java(21)_ ^、|、运算符
  4. Mysql 8主从复制配置图解
  5. 【ArcGIS遇上Python】三种利用Python批量处理地理数据的方法——以栅格数据投影转换为例
  6. 智慧交通day01-算法库02:imutils
  7. 【Java用法】java 8两个List集合取交集、并集、差集、去重并集
  8. 胶囊网络与计算机视觉教程 @CVPR 2019
  9. Akka Actor Inbox_信箱
  10. MySQL主从配置实战笔记
  11. vuex中store存储store.commit和store.dispatch的区别及用法
  12. SAI2.0 ctrl+加号和ctrl+减号放大缩小无效 顺时针逆时针旋转快捷键无效
  13. 【NDN安全】Poseidon: Mitigating Interest Flooding DDoS Attacks in Named Data Networking 学习笔记
  14. 掌握哪些知识,才能被称得上一名合格的前端开发工程师?
  15. Win10怎么安装Apache服务
  16. 肖 sir_就业课__011性能测试讲解
  17. 一连上网就弹出广告窗,记录删除一些顽固文件
  18. ubuntu18.0 调节显卡GPU涡轮风扇转速
  19. 旋转矩阵的应用:已知旋转前后的点坐标计算旋转中心坐标
  20. 鹤林全集·怡情枫林 | 第一篇——岁末回首

热门文章

  1. Android meta作用,Android中meta-data的使用
  2. excel表格数字显示不全_从word中把身份证号码复制到excel表格中完整显示身份证号码后4位...
  3. 顶峰Android手机视频转换器,顶峰3GP手机视频转换器
  4. python学习-知识点回顾(Python3的安装,编译器、一些关键知识点、数据类型、数据类型转换、运算符优先级)
  5. java jsp中控件绑定_jsp页面常用控件
  6. arch linux键盘布局,Arch Linux的安装、配置、优化及美化(一)
  7. java开发环境安装原理,java开发环境搭建 java开发环境的完整搭建过程
  8. 事务未提交 别人能读取到吗_Mysql 事务-面试笔记
  9. 我在微信上大学:如何正确理解指针和结构体指针?
  10. 线上课程推荐 | 计算机方向:无人驾驶中的环境感知