思路说明
-
使用locator定位到要拖动滑块元素,如元素名叫ele
-
获取元素ele的bounding_box含4分属性值:x,y,width,height
-
把鼠标移动到元素ele的中心点,中心点位置为:
x+width/2,y+height/2
-
按下鼠标
-
计算出要移动的下一个位置,以长条滑块为例,拖动到长条头部实现解锁,那x的位置应该为
x+width/2 + 某个固定值(足够大就好)
-
执行移动操作,下一个位置坐标为:
x+width/2 + 某个固定值,y+height/2
-
释放鼠标
调用方法
- 元素定位:page.locator()
- 获取元素位置及大小:ele.bounding_box()
- 鼠标移动:page.mouse.move()
- 按下鼠标:page.mouse.down()
- 释放鼠标:page.mouse.up()
示例代码快
#获取拖动按钮位置并拖动
dropbutton=page.locator("#loginForm > div:nth-child(12) > div > div.drag-btn")
box=dropbutton.bounding_box()
page.mouse.move(box['x']+box['width']/2,box['y']+box[ 'height']/2)
page.mouse.down()
mov_x=box['x']+box['width']/2+260
page.mouse.move(mov_x,box['y']+box[ 'height']/2)
page.mouse.up()