首页 > 其他分享 >web自动化10--鼠标滚动

web自动化10--鼠标滚动

时间:2023-05-06 18:14:11浏览次数:49  
标签:web execute 10 -- script driver js 滚动条

有的时候selenium和Python不能够对网页完全的操作,有的时候需要用到鼠标进行辅助;

对js不太熟悉的,网上找下教程,简单了解。

http://www.w3school.com.cn/js/index.asp4

一、页面竖滚动条控制

   可以修改最后的scrollTop 的值,来改变滚动条的位置,0是最上面,10000是最底部

   

  --scrollHeight 获取对象的滚动高度。 
  --scrollLeft 设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离。 
  --scrollTop 设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离。 
  --scrollWidth 获取对象的滚动宽度。

  1.滚动条回到顶部:

    js = "window.scrollTo(0,0)"
    driver.execute_script(js)  

  2.滚动条拉到底部

    js = "window.scrollTo(0,document.body.scrollHeight)"
    driver.execute_script(js)

  3.或者该方法

    js = "var q=document.body.scrollTop=0"
    driver.execute_script(js)

二、横向滚动条

  1.屏幕最大化,很少会出现左右滚动的,但是有的时候打开的并不是最大化。

  2.左边控制横向和纵向滚动条scrollTo(x, y),x是横向距离,y是纵向距离

    js = "window.scrollTo(100,400);"

    driver.execute_script(js)

三、有的时候拖动所得到的页面信息,不一定存在你需要找的元素

  1.先跳转到元素所在的定位,进行聚焦元素

    t= driver.find_element_by_id()
    driver.execute_script("arguments[0].scrollIntoView();", t)



 

标签:web,execute,10,--,script,driver,js,滚动条
From: https://www.cnblogs.com/SparkProgram/p/17378193.html

相关文章

  • 六、分布式SpringCloud环境--谷粒商城
    分布式SpringCloud环境一、注册中心:SpringCloudAlibabaNacos版本:nacos1.1.3链接:https://github.com/alibaba/nacos/releases?page=4主机端使用:(1)、下载zip,并解压,打开bin里的startup.cmd (2)、引入依赖、修改配置文件:导入nacos配置引入依赖<dependency><grou......
  • (转)Java中的String、StringBuilder和StringBuffer
    1、StringString对象是不可变的,即一旦一个String对象被创建以后,包含在这个对象中的字符序列是不可改变的,直至这个对象被销毁。那么我们new一个String对象,比如Stringa=newString("A")Stringa2=newString("A")和直接创建一个字符串,比如Stringb="A"这两种方......
  • c++ 保留小数示范
    #include<iostream>#include<iomanip>//必要头文件usingnamespacestd;intmain(intargc,char**argv){ doublea,b,c; doublen; cin>>a>>b>>c; n=(a/b)*c; cout<<fixed<<setprecision(6)<<n<<endl; return......
  • Bing的AI聊天使用体验
    Bing开启了AI聊天功能,我们这里做一个简单的测评,看看各种AI是否达到预期效果。PS:没有“魔法”的各位就不用看下去了1.登陆打开edge,遇到的第一个问题就是,使用“魔法”后,登陆报错0x80190001(不登录每天的聊天次数有限)搜索资料后发现一个好用的解决方式,下载fiddler,打开win......
  • 如何理解理解Java对象与引用?
    一、关于对象与引用之间的一些基本概念  为便于说明,先定义一个类:classVehicle{intpassengers;intfuelcap;intmpg;}有了这个类,就可以用它来创建对象: Vehicleveh1=newVehicle() ,通常把这条语句的动作称之为创建一个对象,其实,它包含了四个动作:newVehicleVehicleveh1= ......
  • 字面量,Object新增api,面向过程和面向对象,类构造函数
    /*字面量速写:如果属性名和形参名一致,可以直接写形参名方法速写:省略冒号和functionsayHello(){}//实际上是sayHello:function(){}计算属性名通过[]计算出来*///方法速写//字面量速写://functionsan(a,b,c,d){//constsayHello=function(){//......
  • 集合
    集合优点:集合不用规定空间大小,而数组则用。集合与数组相互转换:Coursecourse4=newCourse(3,"huang",23);Coursecourse5=newCourse(4,"huang",24);Coursecourse6=newCourse(5,"huang",25);//集合不用规定空间大......
  • python给onnet上报数据
      #!/usr/bin/envpython#-*-coding:utf-8-*-#@Time:2021/2/2423:01#@Author:LiShan#@Email:[email protected]#@File:OneNet_Post.py#@Note:https://blog.csdn.net/lishan132/article/details/114044902importurllib.requesti......
  • 三段式状态机
    原文链接:https://blog.csdn.net/weixin_43070186/article/details/82085463关于FSM的写法按照always块的个数来划分可以分为一段式(一个always块)、两段式状态机(两个always块)、三段式状态机(三个always块)。三段式状态机具有以下优点:(1)三段式状态机可以清晰完整的显示出状态机的结构,(2......
  • 【数据结构】单调队列专题(滑动窗口问题)
    一维滑动窗口154.滑动窗口下标从0开始,数组模拟队列#include<iostream>usingnamespacestd;constintN=1e6+10;intn,k;inta[N],q[N];intmain(){scanf("%d%d",&n,&k);for(inti=0;i<n;i++)scanf("%d",&a......