今天工作中遇到了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>
<t