Selenium入门11 滚动条控制(通过js)

这一节要有js基础。做web端的UI自动化必须要有html,css,javascript前端基础。

滚动条控制:

1 移动垂直滚动条 document.documentElement.scrollTop

2 移动垂直滚动条 document.documentElement.scrollLeft

3 找到某个元素,移动到可视区内scrollIntoView()

#coding=utf-8
# 通过js操作滚动条

from selenium import webdriver
import time
#打开淘宝
browser = webdriver.Firefox()
browser.get("https://www.taobao.com")
time.sleep(2)

#向下滚动1000像素
js="document.documentElement.scrollTop=1000"
browser.execute_script(js)
time.sleep(2)

#回顶部
js="document.documentElement.scrollTop=0"
browser.execute_script(js)
time.sleep(2)

#找到某个元素,scrollIntoView让当前的元素滚动到浏览器窗口的可视区域内
js="var div1=document.getElementsByClassName(‘layer‘);div1[div1.length-2].scrollIntoView();"
browser.execute_script(js)
time.sleep(5)

#缩小窗口显示水平滚动条
browser.set_window_size(500,800)
browser.get("http://www.bing.com")
time.sleep(2)
js=" document.documentElement.scrollLeft=1000"
browser.execute_script(js)
time.sleep(2)
js="document.documentElement.scrollLeft=0"
browser.execute_script(js)
time.sleep(2)

browser.quit()

原文地址:https://www.cnblogs.com/dinghanhua/p/9740065.html

时间: 2024-10-30 15:35:36

Selenium入门11 滚动条控制(通过js)的相关文章

自定义滚动条——控制文字的滚动

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; min-height: 36.0px } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #d74200 } p.p4 {

python入门之流程控制

python入门之流程控制 一.什么叫流程控制 所谓流程控制就是控制流程,具体指控制程序的执行流程,而执行流程分为三种结构:顺序结构(之前写的代码都是顺序结构),分支结构(用到if判断).循环结构(用where与for) 二.分支结构 2.1什么是分支结构 分支结构就是根据条件判断的真假去执行不同分支对应的子代码 2.2为什么要使用分支结构 程序中需要有相应的机制用来控制计算机具备人的判断能力 2.3如何使用分支结构 if 主要用来判断事物的对错,真假是否可行 如: 1.前面有一个小姐姐年龄在2

Python Selenium入门学习材料整理

Python Selenium入门学习材料整理一.简介及环境搭建1.selenium 介绍:selenium 是一个 web 的自动化测试工具,可以自动打开浏览器执行页面打开.页面内容抓取.页面元素搜索,是相对好上手的网页爬取工具.2.安装selenium:pip install selenium3.安装webdriver:selenium打开网页需要有webdriver来调用浏览器.Firefox:https://github.com/mozilla/geckodriver/releases/

selenium入门

selenium入门(selenium1.元素定位通过id定位元素       如:WebElement ele = By.id("idName"); 通过Name定位元素     如:WebElement ele = By.Name("name"); 2.多国语言切换:ChromeOptions op=new ChromeOptions(); //选择浏览器op.addArguments("--lang=en-US");      // 选择所

javascript 获取滚动条高度+常用js页面宽度与高度

javascript 获取滚动条高度+常用js页面宽度与高度 js(1)  /******************** * 取窗口滚动条高度  ******************/function getScrollTop(){    var scrollTop=0;    if(document.documentElement&&document.documentElement.scrollTop)    {        scrollTop=document.documentElem

MySQL入门-11:数据的增、删、改

1.数据插入 2.数据更新 3.数据删除 4.更新和删除的指导原则 1.数据插入-INSERT 插入数据可以使用以下几种方式: 插入完整的行 插入行的一部分 插入多行 插入某些查询的结果 Syntax: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE]     [INTO] tbl_name [(col_name,...)]     {VALUES | VALUE} ({expr | DEFAULT},...),(...),...

ASP.NET MVC 入门11、使用AJAX

asp.net mvc 支持微软自身Ajax 和 JQuery框架 asp.net mvc View视图可以理解为 一个包含"<%%>"变量引和的模板. Script与HTML优雅分离参见: http://www.cnblogs.com/QLeelulu/archive/2008/10/22/1317214.html ASP.NET MVC 入门11.使用AJAX

单个滚动条控制两个CEDIT功能

有时候需要实现单个滚动条控制两个CEDIT功能,控制中间的滚动条左右能同时翻动, 如下图 实现方法大致如下 创建两个EDIT控件,都带滚动条,但是右侧的要隐藏 void CAlignSentenceView::OnInitialUpdate() { CView::OnInitialUpdate(); CRect rect; GetClientRect(&rect); // TODO: 在此添加专用代码和/或调用基类 m_etCH.Create(WS_CHILD | WS_VISIBLE | WS

[整理]Node入门 &#187; 一本全面的Node.js教程 - Demo实践所遇到的问题

花了一个上午看完[转载]Node入门 » 一本全面的Node.js教程 根据里面的Demo自己手动实现过程中还是需到写问题,特整理在此. <1>.由于node.msi安装包已经自动添加了系统环境变量,所以可以在任意地方路径下运行node xxx.js.<2>.确定2个环境变量是否已添加(1)一个是PATH上增加node.exe的目录C:\Program Files\nodejs,(已自动添加)(2)一个是增加环境变量NODE_PATH,值为C:\Program Files\node