有一些 web 前端的交互,必须有鼠标轨迹才能成功的实现拖拽功能。
selenium 自带的 ActionChains 方法,是一瞬间从 A 点到 B 点的。
解决思路:

利用元素返回的相对浏览器的位置的方法, location[] 可以返回元素的坐标,再加上边框的位移量,确定好元素相对于电脑的位置,这个时候用浏览器最大化方法很有必要 driver.maximize_window(),可以固定浏览器相对于电脑位置的偏移量,这个偏移量需要大家自己来找,再利用 pyautogui 模拟鼠标操作完美的解决问题,鼠标操作实现电脑坐标点到点的轨迹拖动,后面的 duration 可以设置拖动时长。

# 2019.10.10
# 小蓝枣
# 实现带轨迹拖拽功能# -*- coding: UTF8 -*-
from selenium import webdriverimport os
import time
import pyautoguidriver = webdriver.Chrome()  # 打开谷歌浏览器
driver.maximize_window()     # 最大化浏览器
driver.implicitly_wait(10) # 设置隐式时间等待# 拖拽应用
def drag_app(s):# 定位起始元素start = driver.find_element_by_xpath('//*[@fieldid="left_area"]//*[@fieldid="搜索结果_group"]//*[@fieldid="'+s+'"]//*[@class="list-item-content"]')# 让鼠标移动到起点元素上pyautogui.moveTo(start.location['x']+20,start.location['y']+125)# 定位要拖拽到的位置元素end = driver.find_element_by_xpath('//*[@fieldid="right_area"]//*[@fieldid="分组_group"]//*[@fieldid="container_area"]')# 实现拖拽功能pyautogui.dragTo(end.location['x']+20,end.location['y']+155,duration=1)time.sleep(2)

效果如演示:

喜欢的点个赞❤吧!

Python+selenium 自动化高级应用篇:借助pyautogui实现web前端带轨迹拖拽功能,解决ActionChains拖拽失效问题相关推荐

  1. php selenium模拟登陆,python+selenium自动化实战携带cookies模拟登陆微博

    首先获取cookies,使用手机扫码登录斗鱼,然后利用网页cookies保存在本地 有些同学可能会问,这不是相当于自己登录了吗,还模拟什么呢,其实来说这是一次获取cookies可以使用很久 #!/us ...

  2. chrome 控制台信息获取 python_【python+selenium自动化】设置Chrome启动参数

    起因:直接用selenium的webdriver启动chrome,会弹出"Chrome正在受到自动软件的控制",并且窗口较小,是因为chrome没有加载任何配置 解决:点进sele ...

  3. python自动化办公都能做什么菜-python+selenium自动化(一)之环境搭建

    一.环境选择 python版本:python3.7(64位)下载地址:https://www.python.org/downloads/ (推荐使用官方下载) selenium版本:selenium3 ...

  4. Python+selenium 自动化-mac下安装配置chrome驱动方法

    我的 Python 版本有两个,先通过 which 看一下对应版本的位置. 然后找到 python 安装目录里的 bin 文件夹,把对应的驱动放里面就好了. 如果不知道怎么匹配对应 chrome 版本 ...

  5. Python+selenium 自动化-基本环境搭建,调用selenium库访问百度查询天气实例演示

    Python+selenium 自动化 第一章:基本环境搭建 ① 安装 selenium 库 ② 下载对应版本的浏览器驱动 ③ 调用百度查天气演示 第一章:基本环境搭建 ① 安装 selenium 库 ...

  6. Python+selenium 自动化-读取excel记录的脚本执行登陆操作实战演示

    我们可以用 excel 来记录自动化,然后读取 excel 来执行命令,excel 可以很方便直观的管理我们录入的自动化.下面给大家演示一下 Python+selenium 自动化的实例,读取 exc ...

  7. Python:Excel自动化实践入门篇 甲【留言点赞领图书门票】

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s?__biz=MzUxMTgxMzExNQ==&mid=22 ...

  8. Python + selenium自动化工具 + 滑块验证码+点选验证码,实现模拟登录“中国铁路网12306”

    文章目录 一.模拟登录"中国铁路网12306 1.引入库 2.初始化 3.将点选验证码图片,通过人工打码,返回目标像素位置(json格式). 4.点选验证码位置得到后,需要鼠标左击进行模拟人 ...

  9. Python+selenium自动化八大元素定位方法及实例(超详细)

    目录 一.selenium模块中的find_element_by_id方法无法使用 二.Python+selenium自动化八大元素定位方法 使用场景: 1.通过id属性定位:driver.find_ ...

最新文章

  1. mysql 田_Mysql知识总结
  2. python 定义一个插入数据(可以插入到每个表中)通用的方法
  3. make,makefile,cmake“暴力编译法”的个人经验或理解。
  4. Hadoop之NameNode和SecondaryNameNode工作机制详解
  5. 如何关闭线程池?会创建不会关闭?调用关闭方法时线程池里的线程如何反应?
  6. 二叉树经典题之二叉树的非递归遍历
  7. iphone长截图哪个软件好_iPhone上最好的长截图工具!
  8. GooFlow获取节点/线信息和自定义节点属性
  9. 大数据模型案例库-涵盖多行业,超百个实战项目案例
  10. 纳米磁珠+AI:让液体活检越走越近
  11. 往VS项目中添加本地图片资源
  12. Linux上搭建http服务器
  13. 文字相对于图片垂直居中
  14. Zookeeper客户端Curator详解
  15. element tree不刷新视图_00后都开始找工作了,这些都不懂还聊个啥?
  16. conexant hd audio音频驱动
  17. python语言用法_python语言基本语句用法总结
  18. 解决margin塌陷问题
  19. win7安装android驱动失败怎么办,win7安装不了手机驱动如何修复
  20. ArcMap 导入 wrl_【丽爱妆】导入液怎么用 什么时候用

热门文章

  1. 集群中几种session同步解决方案的比较[转]
  2. 提高你的Java代码质量吧:推荐在复杂字符串操作中使用正则表达式
  3. poj 1236 Network of Schools
  4. 实战Solaris 10
  5. 搜星流程(1)-[Qualcomm][BSP-GPS]
  6. 我眼中的Linux设备树(三 属性)
  7. Android平台根目录文件
  8. struct 类型指针技巧
  9. 安装vs 2015 x新建项目 显示(未将对象引用设置到对象实例) 处理方法
  10. oracle ebs 多组织屏蔽的研究