weixin_42341877 2025-11-04 15:28 采纳率: 0%
浏览 2

uiautomator2有时点击不到浏览器里的控件

使用uiautomator2的时候,浏览器中的控件有时候能能识别

img

但有时候就整个页面识别成一个控件,没法精细点击,请问有谁知道为什么吗

img

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-11-04 15:46
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题分析

    你使用uiautomator2进行自动化测试,遇到一个问题:浏览器中的控件有时候能被识别,有时候就被识别成一个整体的控件,导致无法精细点击。

    解决方案

    1. 检查设备和浏览器版本: 确保你的设备和浏览器版本是最新的,否则可能会导致控件识别问题。
    2. 调整uiautomator2的配置: 可以尝试调整uiautomator2的配置参数,例如uiautomator2.server.packagesuiautomator2.server.timeout等,来提高控件识别的准确率。
    3. 使用其他控件识别方式: 如果使用uiautomator2的控件识别方式不行,可以尝试使用其他方式,例如使用uiautomator2.get_window_size()获取窗口大小,或者使用uiautomator2.get_window_rect()获取控件的位置和大小。
    4. 使用浏览器的内置控件识别方式: 如果以上方法都不行,可以尝试使用浏览器的内置控件识别方式,例如使用ChromeDriver的find_element()方法。

    核心代码

    from uiautomator2 import Device
    
    # 获取设备对象
    d = Device()
    
    # 获取浏览器窗口的大小
    window_size = d.get_window_size()
    
    # 获取浏览器窗口的位置和大小
    window_rect = d.get_window_rect()
    
    # 使用浏览器的内置控件识别方式
    from selenium import webdriver
    driver = webdriver.Chrome()
    driver.get("https://www.example.com")
    element = driver.find_element_by_xpath("//xpath")
    

    注意

    以上代码仅供参考,具体的解决方案需要根据你的实际情况进行调整。

    评论

报告相同问题?

问题事件

  • 创建了问题 11月4日