在我们使用playwright的过程中,使用最多的操作就是click操作了,例如
demo_button2= page.query_selector("id=btn2")
demo_button2.click();
其实playwright关于click还提供了很多用法,包括对元素进行单击,双击、右键点击、组件键单击、悬浮、按坐标单击。接下来我们就对这些用法的使用进行逐一讲解。
各种click方法汇总
这里以python代码为例
// Right click
demo_button2.click(button="right")
包括"left", "middle", "right",默认left
// Double click
demo_button2.dblclick();
// Shift + click
demo_button2.click(modifiers=["Shift"])
除此之外还包括"Alt", "Control", "Meta", "Shift"
// Hover 操作
demo_button2.hover()
// Click 元素的坐标点
demo_button2.click(position={ "x": 0, "y": 0})
// Click 2 次
demo_button2.click(click_count=2)
click的细节
playwright点击一个元素需要遵循以下步骤
等待具有给定selector 的元素在DOM中出现
等待元素显示 ,无display:none
, 无 visibility:hidden
等待元素停止移动,例如,等待直到css转换完成
将元素滚动到视图中
等待元素在动作点接收pointer events ,例如,等待直到元素不再被其他元素遮挡
如果在上述任何过程中元算被detach,则重试。
备注:detach()是jQuery中的内置方法,可从DOM树中删除所选元素,包括其所有文本节点和子节点,但保留数据和事件。
我的每一篇文章都希望帮助读者解决实际工作中遇到的问题!如果文章帮到了您,劳烦点赞、收藏、转发!您的鼓励是我不断更新文章最大的动力!