selenium中录制拖拽动作

今天工作中遇到了selenium中录制拖拽动作需求:在同一个页面上,将一个table中的元素拖拽到另外一个table中。

通过查看帮助文档是使用dragAndDrop或类似的命令。根据使用方法dragAndDrop(locator, movementsString),写入下面的脚本:

<tr>
<td>dragAndDropToObject</td>
<td>//div/div/div/table/tbody/tr[2]/td/div</td>
<td>+652,+638</td>
</tr>

运行后,命令运行通过但是并没有实现拖拽动作。从网上百度后,发现好多网友说dragAndDrop命令不太好用,可以通过鼠标事件模拟拖拽。因此借鉴过来,写入命令如下:

<tr>
<td>mouseDownAt</td>
<td>//div/div/div/table/tbody/tr[2]/td/div</td>
<td>+394,+156</td>
</tr>
<tr>
<td>mouseMove</td>
<td>//div/div/div/table/tbody/tr[2]/td/div</td>
<td></td>
</tr>
<tr>
<td>mouseUpAt</td>
<td>//td[2]/div</td>
<td>+652,+638</td>
</tr>

运行后实现了拖拽动作。具体的mouseDownAt、mouseMove、mouseUpAt命令可以查看selenium帮助文档。有其它网友是通过mouseDownAt、mouseMoveAt、mouseUpAt命令实现的,感觉思想差不多吧,只有能实现效果就可以。

顺便说一下,由于mouseDownAt、mouseMoveAt、mouseUpAt命令的第二个参数都是坐标,那么获得元素的具体坐标也很关键。之前为如何查看页面元素坐标纠结,后来同事说有的截图软件可以查看,突然想起以前HyperSnap截图软件是可以显示坐标的。于是乎下载安装,坐标问题迎刃而解。

接下来将继续学习dragAndDrop命令,如果大家有使用成功的希望分享下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值