天天看点

selenium与系统鼠标动作的结合

前言

众所周知,selenium模块可以用于操控浏览器,来实现网页的自动化访问。其功能涉及到了鼠标的移动和点击元素操作,该操作不会影响系统鼠标的移动。本文以百度页面为例,目标是将鼠标移动到指定元素的中间位置。

需求模块:
  • pynput:用于控制鼠标移动
  • selenium:用于识别网页元素
场景分析:
selenium与系统鼠标动作的结合

经过测试可知,以pynput操作鼠标使用的坐标系是以桌面左上角为原点的坐标系。而以selenium操控的元素坐标系是以页面主体(图中黄色部分)左上角(基准点2)为原点的坐标系。所以要实现鼠标移动到元素中心位置,必须经过坐标换算。

根据selenium提供的方法,可以得到的参数有:

  • 浏览器尺寸:browser.get_window_size()
  • 浏览器坐标(x1,y1):brows