【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲

简介: 【python自动化】Playwright基础教程(五)事件操作②悬停&输入&清除精讲

 

鼠标悬停 - hover

有些元素,只有你鼠标移动到它那个位置上,他才会展开或者显示一些内容,这时候就要用到hover操作了。

使用方法

image.png

参数

image.png

可操作性检查表:https://playwright.dev/python/docs/actionability

 

此方法详细执行步骤

 

等待元素的可操作性检查,除非force设置为true

如果需要的话,将元素滚动到视图中。

使用page.mouse将鼠标悬停在元素的中心位置,或者是position所指定的位置。

等待启动的导航成功或四百,除非no_wait_after设置为true。

鼠标悬停实战

**案列:**打开百度首页,鼠标放置在左上角的更多位置(悬浮),会显示出百度的其他产品。

需实现效果展示:

image.png

代码流程

1、首先我们看一下更多这个元素如何定位

image.png

2、可以通过文本定位(但页面上有三个更多),这里这个更多是第一个,我们可以使用nth(0)或者first进行定位

·

image.png

3、可以通过class定位,唯一

image.png

4、可以通过name定位,唯一

image.png

在这里,class和name我均是使用的xpath定位,这个不熟悉的小伙伴可以单独学习一下。

 

Xpath我常用的:

 

使用元素的属性来定位元素,可以通过 [@属性名='属性值'] 的方式。

示例://input[@id='username'] 选取 id 属性为 “username” 的 input 元素。

 

xpath文本定位

完全匹配文本 //*[text()=“登录”]

包含某个文本 //*[contains(text(),“登录”)]

完整代码

image.png

输入内容 - fill

在输入框中输入一个值。类似于selenium中的send_keys()

使用方法

image.png


参数

image.png

此方法详细执行步骤

 

此方法会先进行可操作性检查(force为默认值时),聚焦元素,对目标元素进行input输入。

如果你想清空此元素的内容,你可以传入空字符串,value = ""。

如果目标元素无法输入文本,将会引发错误。

想要更加细致的输入操作,如模仿人为输入(每个字符之间有输入时间间隔),可以使用locator.type()

输入内容实战

**案例:**在搜素框输入梦无矶的测试开发之路

搜索框网页源码:

image.png

定位

1、根据ID定位

image.png

2、class定位

image.png

3、xpath定位

image.png

想不到吧,小小的一个搜索框竟然有如此多的定位方式。

完整代码

image.png

执行效果展示

image.png

清空内容实战

通过参数我们可以发现,text如果传入一个空值,那么就是进行内容清空。

这里我们先输入一段文本,再输入一个空字符。

执行后发现确实被清空了。教程代码,如果在学习的小伙伴,建议自己写一下运行一下,这些代码我都辛辛苦苦调试好了的,不学好浪费啊!

image.png

输入内容 - type

Tips

 

官方建议使用locator.fill()进行输入,只有当页面上需要执行特殊的按键操作的时候,才使用locator.type()

聚焦元素,输入文本时为文本中的每个字符执行 keydown, keypress/input, and keyup 事件。

若需要执行其他的特殊按键,比如Control,ArrowDown,请使用locator.press()。在后续章节我们会讲到。

使用方法

image.png

参数

image.png

模拟按键输入内容实战

依旧是使用fill操作中的搜索框进行输入。

完整代码

image.png

最终会在输入框中输入梦无矶的测试开发之路。这里就不截图了。

清除 - clear

清除输入字段

使用方法

image.png

参数

image.png

清除内容实战

这个清除是不是很像我们的fill传入控制符?

这里我们依然是在搜索框中输入内容,再清空。

image.png

目录
相关文章
|
27天前
|
搜索推荐 Python
使用Python自动化生成物业通知单
本文介绍如何使用Python结合Pandas和python-docx库自动化生成物业通知单。通过读取Excel数据并填充至Word模板,实现高效准确的通知单批量制作。包括环境准备、代码解析及效果展示,适用于物业管理场景。
61 14
|
5天前
|
Python
自动化微信朋友圈:Python脚本实现自动发布动态
本文介绍如何使用Python脚本自动化发布微信朋友圈动态,节省手动输入的时间。主要依赖`pyautogui`、`time`、`pyperclip`等库,通过模拟鼠标和键盘操作实现自动发布。代码涵盖打开微信、定位朋友圈、准备输入框、模拟打字等功能。虽然该方法能提高效率,但需注意可能违反微信使用条款,存在风险。定期更新脚本以适应微信界面变化也很重要。
104 60
|
17天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
49 7
|
20天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
20天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
60 7
|
20天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
47 4
|
20天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
42 5
|
29天前
|
人工智能 数据可视化 数据挖掘
探索Python编程:从基础到高级
在这篇文章中,我们将一起深入探索Python编程的世界。无论你是初学者还是有经验的程序员,都可以从中获得新的知识和技能。我们将从Python的基础语法开始,然后逐步过渡到更复杂的主题,如面向对象编程、异常处理和模块使用。最后,我们将通过一些实际的代码示例,来展示如何应用这些知识解决实际问题。让我们一起开启Python编程的旅程吧!
|
28天前
|
存储 数据采集 人工智能
Python编程入门:从零基础到实战应用
本文是一篇面向初学者的Python编程教程,旨在帮助读者从零开始学习Python编程语言。文章首先介绍了Python的基本概念和特点,然后通过一个简单的例子展示了如何编写Python代码。接下来,文章详细介绍了Python的数据类型、变量、运算符、控制结构、函数等基本语法知识。最后,文章通过一个实战项目——制作一个简单的计算器程序,帮助读者巩固所学知识并提高编程技能。
|
16天前
|
Unix Linux 程序员
[oeasy]python053_学编程为什么从hello_world_开始
视频介绍了“Hello World”程序的由来及其在编程中的重要性。从贝尔实验室诞生的Unix系统和C语言说起,讲述了“Hello World”作为经典示例的起源和流传过程。文章还探讨了C语言对其他编程语言的影响,以及它在系统编程中的地位。最后总结了“Hello World”、print、小括号和双引号等编程概念的来源。
102 80