python使用playwright学习笔记-鼠标拖拽

相比于selenium使用ActionChains类型进行鼠标的操作,playwright可直接在page对象使用鼠标操作。

操作方法

page.mouse的常用方法

方法说明
click()点击对应坐标x,y
down()鼠标左键按下状态
up()鼠标左键抬起状态
move()鼠标移动到对应坐标
dbclick()鼠标双击对应坐x,y
wheel()鼠标滚轮滑动滚动x,y(滚动条操作)

page也有元素拖拽方法:drag_and_drop(),可以把元素source拖拽到元素target位置,在需要坐标系上进行拖拽时,例如画布上的复杂拖拽操作还是要使用mouse通过x,y坐标进行拖拽。

可以通过上述方法的组合以及获取元素的坐标实现对元素的拖拽操作,示例说明代码如下:

    element = page.locator('[id=kw]')
    location = element.bounding_box()
    # 获取元素的中心坐标
    x = location['x'] + location['width']/2
    y = location['y'] + location['height']/2
    # 移动到元素下鼠标左键按下状态
    page.mouse.move(x=x, y=y, steps=10)
    page.mouse.down()
    # 拖拽到坐标下鼠标坐标抬起释放元素
    page.mouse.move(x=x+100, y=y+200, steps=20)
    page.mouse.up()

move方法中的steps参数表示执行的步骤,步骤值越高move的动作就越慢(有时候执行太快,前端拖拽时,无法触发js的响应,导致拖拽无效)

如下为实现的效果图,实际代码跟示例代码有所差别,核心方法都是一样的(主要是没找到对外都可访问的画布网站,抱歉)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值