selenium操作滚动条方法

/**
*  滚动条滚到最下方,和滚到指定位置
*/

@Test(priority =1 )
    public void scrollingToBottomo(){
        //使用JavaScript的scrollTo函数和document.body.scrollheihgt参数
        //将页面的滚动条滑到页面的最下方
        ((JavascriptExecutor) driver)
        .executeScript("window.scrollTo(0, document.body.scrollHeight)");
        try {
            Thread.sleep(3000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    
    @Test(priority = 2)
    public void scrollingToElement(){
        try {
            Thread.sleep(4000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        
        //进入搜索视频页面中的ID值为main_frame的frame页面
        //driver.switchTo().frame("main_frame");
        //定位签文字为“电影”
        WebElement element = driver.findElement(By.xpath(".//*[@id=‘container‘]/div[2]/div[1]/div[2]/div[1]/h3/a"));
        //使用JavaScript的scrollIntoView()函数将滚动条滑动到页面的制定元素位置
        ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView();", element);
        try {
            Thread.sleep(4000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        
    }

时间: 2024-08-07 23:02:02

selenium操作滚动条方法的相关文章

selenium操作滚动条的几种方式

1.操作滚动条到当前可见视图的元素位置 WebElement element = dr.findElement(By.id("4")); ((JavascriptExecutor)dr).executeScript("arguments[0].scrollIntoView(true);", element); 或者 Actions a = new Actions(dr); a.moveToElement(dr.findElement(By.id("4&qu

selenium操作下拉滚动条的几种方法

数据采集中,经常遇到动态加载的数据,我们经常使用selenium模拟浏览器操作,需要多次下拉刷新页面才能采集到所有的数据,就此总结了几种selenium操作下拉滚动条的几种方法 我这里演示的是Java版本的,使用chromedriver,当然你可以换成python或其他语言,浏览器用firefox或者phantomjs(无头浏览器),大部分都是适用的,不同浏览器有略微的差异. 初始化一个浏览器 首先要允许浏览器运行js脚本 DesiredCapabilities sCaps = new Desi

Selenium 浏览器滚动条操作

在用selenium做WEB自动化时,经常会碰到要定位的元素不在当前屏,需要拖动浏览器的滚动条才能显示出来.如果直接去定位的话,一定会报元素不存在的错误.那么怎么对浏览器的滚动条进行操作呢? webdriver不能定位到浏览器的滚动条,只有通过execute_script()来执行js脚本,达到操作滚动条的目的. 一.通过元素所在位置来拖动滚动条 这个方法是最常用的,它就好像我们人一样拖动滚动条用眼睛在页面上寻找需要的元素,一旦找到那个元素了,我就停止拖动. 代码: # coding = utf

记录selenium操作

# -*- coding: utf-8 -*- # coding:utf-8 必须在第一行才能支持中文注释 #!/usr/bin/python # android-build.py # Build android from selenium import webdriver import io import sys import time # Keys 是用作关键词输入 from selenium.webdriver.common.keys import Keys #键盘操作 from sele

selenium 之定位方法

1 id 定位 driver.find_element_by_id() HTML 规定id 属性在HTML 文档中必须是唯一的.这类似于公民的身份证号,具有很强的唯一性 from selenium import webdriverdriver = webdriver.Chrome()driver.get('http://ui.imdsx.cn/uitester/')driver.maximize_window() #最大化当前窗口driver.execute_script('window.scr

selenium操作web自动化小小封装体验

元素判断封装 import lombok.extern.log4j.Log4j; import org.openqa.selenium.By; import java.io.File; import java.io.FileInputStream; import java.util.Properties; /** * @author liwen * 用来读取配置文件 */ @Log4j public class ObjectMap { private static Properties prop

jQuery---jq操作标签文本(html(),text()),jq操作文档标签(插入,删除,修改),克隆,,jq操作属性,jq操作class属性,jq操作表单value,jq操作css,jq操作盒子(重要),jq操作滚动条

jQuery---jq操作标签文本(html(),text()),jq操作文档标签(插入,删除,修改),克隆,,jq操作属性,jq操作class属性,jq操作表单value,jq操作css,jq操作盒子(重要),jq操作滚动条 一丶jQ操作标签内文本 html() 标签元素中的内容 /** 替换的内容可以使一个js对象,jq对象,文本 **/ /* 获取值:获取选中标签元素的所有内容 ,包括标签*/ $('ul').html() " <li>1</li> <li&g

SQL 2005 中查询或执行另外的数据库操作的方法

原文:SQL 2005 中查询或执行另外的数据库操作的方法 摘要: 如果,你想在一台数据库服务器上,查询另一个台数据服务器的数据该如何做呢?如果,你想在同一台数据服务器上,在不同的数据库之间查询数据,又该怎么办呢? 1.Synonym 2.openquery 3.Linked Servers Server Object-->Linked Servers--> serverType 选择 SQL Server, 在 Security 中 选择"Be made using this se

jquery源码解析:jQuery队列操作queue方法实现的原理

我们先来看一下jQuery中有关队列操作的方法集: 从上图可以看出,既有静态方法,又有实例方法.queue方法,相当于数组中的push操作.dequeue相当于数组的shift操作.举个例子: function aaa(){ alert(1); } function bbb(){ alert(2); } $.queue(document,"q1",aaa);   //在document下创建一个队列q1,并往q1队列中添加aaa函数. $.queue(document,"q1