《最新出炉》系列入门篇-Python+Playwright自动化测试-46-鼠标滚轮操作

news2024/11/15 5:09:21

宏哥微信粉丝群:https://bbs.csdn.net/topics/618423372 有兴趣的可以扫码加入

1.简介

有些网站为了节省流量和资源,提高加载效率,采用的是动态加载(懒加载)的,也就是当拖动页面右侧滚动条后会自动加载网页下面的内容,不拖动就不会加载的或者通过鼠标滚轮操作。

2.wheel模拟鼠标滚动

wheel模拟鼠标滚动,就是通过调度一个wheel事件。(滚轮事件如果不处理可能会导致滚动,该方法不会等待滚动结束才返回。)语法如下:

 def wheel(self, delta_x: float, delta_y: float) -> None:
        """Mouse.wheel

        Dispatches a `wheel` event.

        **NOTE** Wheel events may cause scrolling if they are not handled, and this method does not wait for the scrolling
        to finish before returning.

        Parameters
        ----------
        delta_x : float
            Pixels to scroll horizontally.
        delta_y : float
            Pixels to scroll vertically.
        """
2.1参数详解

参数

类型

释义

delta_x

float

要水平滚动的像素

delta_y

float

要垂直滚动的像素

2.2使用方法
mouse.wheel(delta_x, delta_y)

3.项目实战

宏哥这里就用菜鸟教程的网站进行讲解和演示:一边滚动一边加载网页内容。

3.1代码设计

3.2参考代码
# coding=utf-8🔥

# 1.先设置编码,utf-8可支持中英文,如上,一般放在第一行

# 2.注释:包括记录创建时间,创建人,项目名称。
'''
Created on 2023-12-16
@author: 北京-宏哥
公众号:北京宏哥
Project: 《最新出炉》系列入门篇-Python+Playwright自动化测试-45-鼠标滚轮操作
'''

# 3.导入模块
from playwright.sync_api import Playwright, sync_playwright, expect

def run(playwright: Playwright) -> None:

    browser = playwright.chromium.launch(headless=False)
    context = browser.new_context()
    page = context.new_page()
    page.goto("https://www.runoob.com/")
    page.wait_for_timeout(1000)
    for i in range(50):
        page.mouse.wheel(0, 100)
        page.wait_for_timeout(500)
    #page.pause()
    context.close()
    browser.close()

with sync_playwright() as playwright:
    run(playwright)
3.3运行代码

1.运行代码,右键Run'Test',控制台输出,如下图所示:

2.运行代码后电脑端的浏览器的动作。如下图所示:

4.小结

 好了,今天时间也不早了,宏哥就讲解和分享到这里,感谢您耐心的阅读,希望对您有所帮助。

      每天学习一点,今后必成大神-

往期推荐(由于跳转参数丢失了,所有建议选中要访问的右键,在新标签页中打开链接即可访问)或者微信搜索: 北京宏哥  公众号提前解锁更多干货。

Appium自动化系列,耗时80天打造的从搭建环境到实际应用精品教程测试

Python接口自动化测试教程,熬夜87天整理出这一份上万字的超全学习指南

Python+Selenium自动化系列,通宵700天从无到有搭建一个自动化测试框架

Java+Selenium自动化系列,仿照Python趁热打铁呕心沥血317天搭建价值好几K的自动化测试框架

Jmeter工具从基础->进阶->高级,费时2年多整理出这一份全网超详细的入门到精通教程

Fiddler工具从基础->进阶->高级,费时100多天吐血整理出这一份全网超详细的入门到精通教程

Pycharm工具基础使用教程

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1711856.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

IDM究竟有哪些优势:全面解析高速下载与管理利器!

一、引言 Internet Download Manager(简称IDM)是一款功能强大的文件下载工具,它具备许多优势,使得用户在下载文件时能够获得更快的速度和更好的体验。本文将详细介绍IDM的优势。 二、IDM简介 IDM是一款流行的下载管理软件&#…

绘唐app官方版绘唐3AI工具

绘唐app官方版绘唐3AI工具 激活授权方式:https://qvfbz6lhqnd.feishu.cn/wiki/CcaewIWnSiAFgokOwLycwi0Encf 绘唐app是一款基于人工智能和摄影技术的应用程序,旨在帮助用户将照片转化为唐朝画风的艺术作品。 该应用程序使用先进的图像处理算法&#xf…

Epic Pen Pro v3 解锁版安装教程 (屏幕实时标记注释工具)

前言 Epic Pen是一款功能强大的屏幕标记工具,允许您在屏幕上绘图或书写,而无需在后台与软件交互。这意味着您几乎可以注释任何东西!使用我们流行的屏幕标记和Windows数字白板工具Epic Pen编写、绘制和突出显示,包括演示文稿软件&…

深入解析绘图范式:面向对象与直接操作的较量

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 第一节:面向对象绘图的魅力 第二节:直接操作绘图模块的便捷性 第三…

Linux查看设备信息命令

dmidecode | grep Product Name 查看grub版本号:rpm -qa | grep -i "grub" 客户端操作系统版本: cat /etc/issue cat /etc/redhat-release 处理器品牌及型号: less /proc/cpuinfo |grep model

基于BP神经网络的64QAM解调算法matlab性能仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 MATLAB2022A 3.部分核心程序 ....................................................... % 第一部分:加载并可视…

触觉训练技巧:盲人感知世界的第二双“眼”

在当今科技日新月异的时代,辅助技术正逐步成为残障人士融入社会的重要桥梁。其中,一款名为““蝙蝠避障””的创新软件,凭借其实时避障和拍照识别功能,为盲人朋友的日常生活带来了前所未有的便捷与安全。然而,技术的辅…

社区电商系统业务架构:打造线上线下融合的智慧生活圈

在数字化时代,社区电商系统已成为连接线上线下的重要纽带,为居民提供便捷的购物体验和多样化的生活服务。本文将深入探讨社区电商系统的业务架构,揭示其在构建智慧生活圈中的关键作用。 ### 1. 概述 社区电商系统是基于互联网技术构建的一种…

【iOS】UI学习(一)

UI学习(一) UILabelUIButtonUIButton事件 UIViewUIView对象的隐藏UIView的层级关系 UIWindowUIViewController定时器与视图对象 UISwitch UILabel UILabel是一种可以显示在屏幕上,显示文字的一种UI。 下面使用代码来演示UILabel的功能&#…

数据分析中的列与行交换技巧

新书上架~👇全国包邮奥~ python实用小工具开发教程http://pythontoolsteach.com/3 欢迎关注我👆,收藏下次不迷路┗|`O′|┛ 嗷~~ 目录 一、引言:数据交换的重要性 二、列交换的基本原理 三、列交换的代码实现 1. 使…

[docker] docker 安全知识 - docker api, 权限提升 资源管理

[docker] docker 安全知识 - docker api, 权限提升 & 资源管理 这是 docker 安全的最后一篇 暴露 docker api 在 [docker] docker 安全知识 - docker 系统性简介 中曾经提到,docker cli 使用 restful api 与客户端和 docker daemon 之间交流。默认情况下&…

优化效率,简化流程:探索工资结算系统的重要性与实施方法

在现代企业中,工资结算是一项重要而复杂的任务。为了更好地管理和处理员工的工资事务,许多企业采用工资结算系统。本文将探讨工资结算系统的重要性,并介绍一些实施该系统的方法。 ### 1. 概述 工资结算系统是一种自动化的软件系统&#xff0…

Pycharm无法关闭-一直显示正在关闭项

界面上一直显示,正在关闭项目,而且我大部分项目,都能正常关闭,主要是一个由Selenium的项目关不掉,分享一下如何解决。 操作系统版本:Windows 10 专业版 22H2 软件版本:PyCharm Professional 2…

激光雷达测试板智能系统应用

在自动驾驶技术和机器人感知系统的迅猛发展中,激光雷达(Lidar)作为一种先进的测距技术,正逐渐成为这些系统不可或缺的组成部分。而在这一技术的实际应用前,对激光雷达进行精确的测试和校准是至关重要的一步。激光雷达测…

微乐校园管理系统的设计

管理员账户功能包括:系统首页,个人中心,管理员管理,基础数据管理,叫车管理,代跑管理,二手商品管理 司机账户功能包括:系统首页,个人中心,叫车管理&#xff0c…

pg_lakehouse 与 datafusion

原理分析 pg_lakehouse 是 ParadeDB 推出的一个开源插件,支持对多种数据湖里的数据做分析计算。它的出现,使得 Postgres 能够像访问本地数据一样轻松访问 S3 等对象存储,轻松访问 Delta Lake 上的表格,具备数据湖分析能力。 pg_…

就业班 第三阶段(ELK) 2401--5.22 day3 filebeat+elk云部署

kafka集群 Windterm同步输入,多台机子可以同时输入同步输入 启动kafka需要启动两个 第一个 [rootkafka1 ~]# cd /usr/local/kafka_2.11-2.0.0/ [rootkafka1 ~]# nohup bin/zookeeper-server-start.sh config/zookeeper.properties &第二个 [rootkafka1 ~]#…

一种基于单片机的智能饮水机设计

随着人们生活水平的提高,对美好生活质量的追求也越来越高。饮 水机是人们日常生活不可或缺的,实现饮水机的智能化控制不但方便, 而且更加安全。本文提出一种基于单片机的智能饮水控制系统,通过传 感器实现对水温的监测&#xff0c…

命令注入攻击及其防范措施

命令注入攻击及其防范措施 命令注入攻击是一种通过有漏洞的应用程序在主机操作系统上执行任意命令的攻击。 当应用程序将不安全的用户输入数据(如表单、cookie、HTTP 标头等)传递给系统命令执行时,可能会发生命令注入攻击。 命令注入攻击的…

《PNAS》和《Nature Communications》仿章鱼和蜗牛的粘液真空吸附,赋予了机器人吸盘新的“超能力”

想象一下,如果机器人能够像章鱼一样牢牢吸附在粗糙崎岖的岩石上,或者像蜗牛那样在墙面上悠然负重爬行,那会是多么神奇的一幕!近日,布里斯托大学机器人实验室的Jonathan Rossiter教授课题组就为我们带来了这样的“超能力…