首页 > 其他分享 >web自动化-滚动操作

web自动化-滚动操作

时间:2023-03-16 22:55:28浏览次数:36  
标签:web execute 滚动 script scrollIntoView driver element 自动化 scrollHeight

一、基本知识:

滚动步骤:
1.通过selenium的查找元素的方法先找到元素;
2.通过执行js语句,将元素滚动到可见区域中;

#找到元素:
target = driver.find_element_by_xpath('//a[text()="hello"]')
#将元素滚动到可见区域
driver。execute_script("arguments[0].scrollIntoView();",target)

1.移动到元素element对象的“底端”与当前窗口的“底部”对齐;
driver.execute_script("arguments[0].scrollIntoView(false);",element)
2.移动到元素element对象的“顶端”与当前窗口的“顶部”对齐;
driver.execute_script("arguments[0].scrollIntoView();",element)
driver.execute_script("arguments[0].scrollIntoView(true);",element)
3.移动端页面底部
driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
4.移动到页面顶部
driver.execute_script("window.scrollTo(document.body.scrollHeight,document.body.scrollHeight)")

 

二、案例代码:

from time import sleep
from selenium import webdriver

from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By


# 打开一个浏览器
driver = webdriver.Chrome()

#调整为最大窗口:
driver.maximize_window()

#打开一个窗口
driver.get("https://www.baidu.com/")
driver.find_element(By.ID,"kw").send_keys("陈然")

#点击搜索
driver.find_element(By.ID,"su").click()
ele='//span[text()="陈然 - 百度百科"]'
param = (By.XPATH,ele)

#显性等待
WebDriverWait(driver,10).until(EC.presence_of_element_located(param))

#滚动操作-先找到元素
# ele1=driver.find_element(By.XPATH,'//a[text()="(作家) 简历 - 名人简历"]')
# sleep(3)

#执行js语句,滚动画面
driver.execute_script("arguments[0].scrollIntoView();",ele1)
# driver.execute_script("arguments[0].scrollIntoView(true);",ele1)
# driver.execute_script("window.scrollTo(0,document.body.scrollHeight)")
# driver.execute_script("window.scrollTo(document.body.scrollHeight,document.body.scrollHeight)")

sleep(3)
driver.quit()

 

标签:web,execute,滚动,script,scrollIntoView,driver,element,自动化,scrollHeight
From: https://www.cnblogs.com/crdhm12040605/p/17224557.html

相关文章

  • 《渗透测试》信息打点-Web应用&企业产权&指纹识别&域名资产&网络空间&威胁情报 Day12
     #知识点:1、业务资产-应用类型分类2、Web单域名获取-接口查询3、Web子域名获取-解析枚举4、Web架构资产-平台指纹识别 #业务资产:通过爱企查或者其他平台找到......
  • JavaWeb|01.环境配置
    环境搭建0x00概述ASP:微软的php:开发速度快,跨平台,代码简单;缺点是无法承载大访问量的访问JSP/Servlet:sun公司推出的B/S架构,可以承载三高问题(高并发,高性能,高可用)0x01t......
  • Python自动化环境搭建轻轻松松---selenium
      其实安装selenium实现自动化搭建环境也不拿一共四步1.Python开发环境2.安装selenium包3.安装浏览器4.安装你安装的浏览器驱动一:想要实现Python环境不可能缺席......
  • webview是什么?作用是什么?和浏览器有什么关系?
    Webview是一个基于webkit的引擎,可以解析DOM元素,展示html页面的控件,它和浏览器展示页面的原理是相同的,所以可以把它当做浏览器看待。(chrome浏览器也是基于webkit引擎开发......
  • nginx 配置 websocket
    1.配置代码server{listen9900;server_name103.108.121.136;location/ws/{#必须使用http1.1p......
  • 如何优雅在webpack项目实现mock服务器
    为什么需要mock至于平时开发为什么需要mock数据,应该大多数的同学都非常清楚了;如果前后端同步开发的话,少不了这一步,在需求评审,技术评估等流程通过后,前后端就会约定接口a......
  • eclipse创建maven模块化web项目
        第一步,新建项目,把src目录删除       第二步,项目右键,新增模块dao, 第三步,pom.xml报错,修改<artifactId>maven-jar-plugin</artifactId><ve......
  • 软件自动化测试的作用有哪些?为什么要选择专业软件测试公司进行?
    一、软件自动化是什么?软件自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规......
  • 第一个web
    index.html:<!DOCTYPEhtml><html><head> <title>LoginPage</title> <metacharset="UTF-8"> <metaname="viewport"content="width=device-width,initial-scale=1.0">......
  • JAVA WEB超大文件上传解决方案:分片断点上传(一)
    ​ 上周遇到这样一个问题,客户上传高清视频(1G以上)的时候上传失败。一开始以为是session过期或者文件大小受系统限制,导致的错误。查看了系统的配置文件没有看到文件大小......