Selenium基础 — Selenium操作浏览器窗口滚动条

这篇具有很好参考价值的文章主要介绍了Selenium基础 — Selenium操作浏览器窗口滚动条。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、为什么操作滚动条

  • 在HTML页面中,由于前端技术框架的原因,页面中的一些元素为动态显示,元素根据滚动条的下拉而被加载。
  • 例如:页面注册同意条款,需要滚动条到最底层,才能点击同意。

2、Selenium如何操作滚动条
Selenium的WebDriver类库中并没有直接提供对滚动条进行操作方法,但是Selenium提供了可调用JavaScript脚本的方法,所以我们可以通过JavaScript脚本来达到操作滚动条的目的。
提示:

  • 滚动条:一种可控制程序显示范围的组件。
  • JavaScript:一种流行脚本语言,可以操作HTML标签。

JavaScript学习文档:http://www.w3school.com.cn/js/js_intro.asp
 

3、Selenium操作滚动条方法

  1. 设置JavaScritp脚本控制滚动条js="window.scrollTo(0,1000)(0:水平距离;1000:垂直距离;单位像素px)
  2. WebDriver调用JavaScritp脚本方法    driver.execute_script(js)
     

提示:

  • 最顶层

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

  • 最底层 

js="window.scrollTo(0,1000)"
注:1000不代表一定到最底层,要根据浏览器页面的实际大小。

  • 直接操作垂直距离的方式

js= "var q=document.documentElement.scrollTop=n

4、练习

需求:访问淘宝首页,在淘宝首页实现Selenium对滚动条的操作。
脚本代码:

"""
1.学习目标:
    掌握浏览器滚动条的操作方法
2.语法
    2.1使用js语言编写控制滚动条代码
        参数:
            0,表示水平距离;
            10000,表示垂直距离  单位:px
        格式:
            向下滚动:window.scrollTo(0,10000)
            向上滚动:window.scrollTo(0,0)
    2.2使用selenium中方法执行js代码
        driver.execute_script(js代码)
3.需求
    在页面中,控制滚动条
4.总结
    如果需要测试写的js代码,可以在浏览器F12,控制台console中执行查看结果。
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
 
# 2.打开浏览器
driver = webdriver.Chrome()
 
# 3.打开页面
url = "https://www.taobao.com"
driver.get(url)
sleep(2)
 
# 4.滚动条操作
# 4.1 滚动条向下滚动
js_down = "window.scrollTo(0,1000)"
# 执行向下滚动操作
driver.execute_script(js_down)
sleep(2)
 
# 4.2 滚动条向上滚动
js_up = "window.scrollTo(0,0)"
driver.execute_script(js_up)
sleep(2)
 
# 向下滚动操作
# n为从顶部往下移动滚动距离
js1 = "var q=document.documentElement.scrollTop=2000"
driver.execute_script(js1)
sleep(2)
 
# 5.关闭浏览器
driver.quit()

5、下拉至聚焦元素的位置

聚焦元素:就是把滚动条滚动到你想要查找的元素的位置
步骤:

# 1 定位需要聚焦元素
target = driver.find_element_xx
 
# 2 js代码
js = "arguments[0].scrollIntoView()"
 
# 3 执行聚焦元素操作
driver.execute_script(js代码,元素target)

示例:
页面代码片段

<!DOCTYPE html>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <style type="text/css">
        button{padding: 8px; background: #f8f8f8;border-radius: 5px}
        button{margin-left:200px;margin-top:2000px}
    </style>
</head>
<body>
    <button type="submitA" value="注册A" title="加入会员A" >注册用户A</button>
</body>
</html>

脚本代码:

"""
1.学习目标:
    掌握聚焦元素的操作方法
2.语法(操作方法)
    2.1 定位需要聚焦元素
        target = driver.find_element_xx
    2.2 js代码
        js = "arguments[0].scrollIntoView()"
    2.3 执行聚焦元素操作
        driver.execute_script(js代码,元素target)
3.需求
    在页面中,滚动条下拉聚焦元素位置。
"""
# 1.导入selenium
from selenium import webdriver
from time import sleep
import os
 
# 2.打开浏览器
driver = webdriver.Chrome()
 
# 3.打开页面
url = "file:///" + os.path.abspath("./1.html")
driver.get(url)
sleep(2)
 
# 4.滚动条下拉聚焦元素位置
# 4.1 定位需要聚焦元素-淘宝首页的END文字
element = driver.find_element_by_css_selector("[type='submitA']")
 
# 4.2 js代码
js = "arguments[0].scrollIntoView()"
 
# 4.3 执行聚焦元素操作
driver.execute_script(js, element)
sleep(3)
 
# 5.关闭浏览器
driver.quit()

最后我这里给你们分享一下我所积累和真理的文档和学习资料有需要是领取就可以了

1、学习思路和方法

这个大纲涵盖了目前市面上企业百分之99的技术,这个大纲很详细的写了你该学习什么内容,企业会用到什么内容。总共十个专题足够你学习

selenium 滚动条,selenium,javascript,python,测试工具

 文章来源地址https://www.toymoban.com/news/detail-784005.html

2、想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

selenium 滚动条,selenium,javascript,python,测试工具

 selenium 滚动条,selenium,javascript,python,测试工具

 

3、软件测试/自动化测试【全家桶装】学习中的工具、安装包、插件....

selenium 滚动条,selenium,javascript,python,测试工具

 selenium 滚动条,selenium,javascript,python,测试工具

 selenium 滚动条,selenium,javascript,python,测试工具

4、有了安装包和学习资料,没有项目实战怎么办,我这里都已经准备好了往下看

 selenium 滚动条,selenium,javascript,python,测试工具

 

最后送上一句话:
世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦

selenium 滚动条,selenium,javascript,python,测试工具

 

到了这里,关于Selenium基础 — Selenium操作浏览器窗口滚动条的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Selenium基础 — 浏览器弹窗操作

    说明: webdriver 中处理 JavaScript 所生成的 alert 、 confirm 以及 prompt 弹窗是很简单的。具体思路是使用 switch_to.alert() 方法定位到 alert/confirm/prompt 弹窗。然后使用 text/accept/dismiss/send_keys 方法按需进行操做。 常用操作: 操作 说明 text 返回alert/confirm/prompt 中的文字信息。 accept() 点

    2023年04月15日
    浏览(34)
  • js获取元素到可视区的距离/浏览器窗口滚动距离/元素距离浏览器顶部距离

    1. js获取元素距离可视区的各种距离 2. js获取浏览器窗口滚动距离 3. js获取元素实际距离页面距离(包括滚动距离) (1).如果父辈元素中有定位的元素,那么就返回距离当前元素最近的定位元素边缘的距离。 (2).如果父辈元素中没有定位元素,那么就返回相对于body边缘距

    2024年02月12日
    浏览(37)
  • selenium+python切换浏览器窗口

    selenium在当前浏览器页面打开了新的窗口,此时如果要聚焦到新开的浏览器窗口,就需要切换到新的窗口,切换窗口的操作,具体selenium+python示例如下:

    2024年02月15日
    浏览(30)
  • selenium+python切换浏览器窗口--详细讲解

    在浏览器页面打开窗口后,有时点击按钮会打开新的页面,我们需要切换到新的窗口才能去定位操作,不然无法操作,切换窗口代码如下

    2024年02月14日
    浏览(37)
  • Selenium教程__浏览器窗口大小(6)

    本文将介绍如何使用Selenium来获取和设置浏览器窗口的大小,以及一些实际应用场景。 学习本文内容将能够轻松地控制浏览器窗口的大小,从而更好地适应不同的屏幕分辨率和设备,并确保网页在各种窗口大小下都能够良好地展示。  -事必有法,然后有成-  最后祝大家早日

    2024年02月13日
    浏览(40)
  • python-selenium控制浏览器多开窗口

    1、视频展示-多开5个百度页面 目录结构 只要在当前目录下放上自己所在的谷歌驱动器:谷歌驱动器如何下载,请参考博客:请点我 奉上代码

    2024年02月16日
    浏览(45)
  • selenium在浏览器定位到下一个窗口

    定位到新打开的页面(窗口): 这里的操作时: 打开拉勾网→定位到地址“北京→搜索框输入“python”进行查找→进入查找结果的第一个连接→定位到新的页面 →关闭新的页面→回到第一个页面

    2024年02月11日
    浏览(27)
  • 浏览器常用基本操作之python3+selenium4自动化测试(基础篇)

    1、打开指定的网页地址 我们使用selenium进行自动化测试时,打开浏览器之后,第一步就是让浏览器访问我们指定的地址,可使用get方法实现 1 2 3 from selenium import webdriver driver = webdriver.Edge() driver.get( \\\'https://www.baidu.com/\\\' )   # 本行用于访问指定的地址 2、获取当前页面url 我们在

    2024年02月01日
    浏览(49)
  • 【Selenium】控制当前已经打开的 chrome浏览器窗口(高级版)

    利用 Selenium 获取已经打开的浏览器窗口,全python操作 标题 链接 【Selenium】控制当前已经打开的 chrome浏览器窗口 https://blog.csdn.net/weixin_45081575/article/details/112621581 【Selenium】控制当前已经打开的 chrome浏览器窗口(高级篇) https://blog.csdn.net/weixin_45081575/article/details/126389273 不同

    2024年01月17日
    浏览(57)
  • UI自动化测试之selenium工具(浏览器窗口的切换)

    1、在浏览网页的时候,有时点击一个链接或者按钮,会弹出一个新的窗口。这类窗口也被称之为句柄(一个浏览器窗口的唯一标识符,通过句柄实现不同浏览器窗口之间的切换),在我们手动控制浏览器的时候,产生新的句柄时浏览器会自动的帮我们跳转到最新的句柄处(鼠

    2024年02月02日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包