dai2248157327 2024-06-27 18:44 采纳率: 25%
浏览 17

Python调用uiautomation模拟微信人工操作,获取聊天窗口中图片控件的y坐标为负数,模拟点击无用,这主要是什么问题?

您好!我用Python uiautomation,获取微信聊天框中图片的位置坐标,其坐标为负数,通过计算只要用负坐标除以dwdata=120的单位量,计算滚动次数,从最后一个消息的控件位置,调用WheelUp函数,进行滚动,其滚动的停下的位置正好是显示该图片窗口的位置,这怎么解释这个负坐标y值代表什么,为什么这样操作可行呢?
4小时前

  • 写回答

1条回答 默认 最新

  • 专家-赤兔[在线] 全栈领域优质创作者 2024-06-27 18:44
    关注

    引自免费微信小程序:皆我百晓生

    您好!关于您提到的Python使用uiautomation模拟微信人工操作的问题,我会尝试为您解答。

    首先,关于坐标值为负数的问题,在计算机图形界面中,坐标系的原点(通常是窗口的左上角)可以有不同的定义方式。在某些情况下,当微信窗口或其他应用程序窗口的坐标系原点不是屏幕左上角时,可能会得到负坐标值。这通常意味着该元素在其父容器或窗口中的位置是从窗口左上角向下或向左偏移了一定的距离。

    关于您提到的滚动操作,负坐标除以单位量来计算滚动次数,这种做法是基于一种假设或经验公式。通过不断地滚动窗口,您可能发现滚动到某个位置时,图片控件恰好出现在窗口的可见区域内。这可能是因为在微信内部,控件的位置与其在滚动序列中的位置有关。当您滚动窗口时,不同的控件(如消息、图片等)会按照某种顺序或结构进行显示。因此,通过特定的滚动操作,您可以定位到特定的控件位置。

    至于为什么这种操作可行,这可能与微信内部处理滚动事件和控件显示的方式有关。通过不断滚动,您可能触发了一种机制,使微信重新排列或调整其内部控件的显示位置,直到目标图片控件出现在可视范围内。这涉及到应用程序内部的具体实现细节,可能需要更深入地研究微信的代码或内部结构才能准确解释。

    对于您的需求,我建议如下:

    1. 确保uiautomation库与微信版本兼容。不同版本的微信可能会有不同的界面和控件结构。
    2. 使用uiautomation库时,确保获取元素的方式(如使用标识符、属性等)是准确的。有时候,小的界面变化或更新可能导致元素获取方式失效。
    3. 在处理坐标问题时,可以尝试使用相对坐标而不是绝对坐标。相对坐标可以基于某个已知元素的位置来计算目标元素的位置,这可能有助于处理坐标系差异问题。

    总之,负坐标和滚动操作的问题涉及到应用程序的具体实现和界面设计。为了更好地理解和解决问题,可能需要深入研究微信的内部结构和代码。希望以上解释和建议能对您有所帮助!

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 6月27日

悬赏问题

  • ¥15 Apache显示系统错误3该如何解决?
  • ¥30 uniapp小程序苹果手机加载gif图片不显示动效?
  • ¥20 js怎么实现跨域问题
  • ¥15 C++dll二次开发,C#调用
  • ¥15 请教,如何使用C#加载本地摄像头进行逐帧推流
  • ¥15 Python easyocr无法顺利执行,如何解决?
  • ¥15 求一个十多年前的国产符号计算软件(MMP)+用户手册
  • ¥15 为什么会突然npm err!啊
  • ¥15 java服务连接es读取列表数据,服务连接本地es获取数据时的速度很快,但是换成远端的es就会非常慢,这是为什么呢
  • ¥15 vxworks交叉编译gcc报错error: missing binary operator before token "("