zoukankan      html  css  js  c++  java
  • appium+python自动化62-webview元素click失效问题解决

    前言

    Appium 在切换到 webview 后,正确定位到元素,但是click () 事件后界面无响应,脚本运行正常不会报错。
    主要原因是:混合APP 时监听全用的是tap事件,不是click事件

    遇到问题

    在使用appium,切换到webview后,点击webview里面的某个标签,已经定位到元素了

    webview切换成功,并且已经定位到里面的‘酒店问题’这个元素

    driver.switch_to.context("WEBVIEW_com.yipiao")
    
    print(driver.current_context)
    
    time.sleep(3)
    # click无效
    driver.find_element_by_xpath('//*[text()="酒店问题"]').click()
    
    

    TouchAction里面tap事件

    这个问题主要原因是开发写的webview界面的元素监听的是tap事件,不是click事件。selenium里面有个TouchActions类,可以操作tap事件,
    之前在写淘宝的wap模式时候有提到过https://www.cnblogs.com/yoyoketang/p/7942275.html

    from selenium.webdriver.common.touch_actions import TouchActions
    
    class TouchAction(object):
        def __init__(self, driver=None):
            self._driver = driver
            self._actions = []
    
        def tap(self, element=None, x=None, y=None, count=1):
            模拟手指触摸屏
    
        def press(self, el=None, x=None, y=None):
            短按:模拟手指按住一个元素,或者坐标
    
        def long_press(self, el=None, x=None, y=None, duration=1000):
            长按:模拟按住一个元素,或者坐标
    
        def wait(self, ms=0):
            按住元素后的等待时间
    
        def move_to(self, el=None, x=None, y=None):
            移动手指到另外一个元素,或者坐标,注意这里坐标不是绝对坐标,是偏移量
            
        def release(self):
            释放手指
    
        def perform(self):
    

    解决办法:先定位到元素后,用tap方法操作元素

    driver.switch_to.context("WEBVIEW_com.yipiao")
    print(driver.current_context)
    
    
    # click无效
    # driver.find_element_by_xpath('//*[text()="酒店问题"]').click()
    
    
    # 解决办法
    from selenium.webdriver.common.touch_actions import TouchActions
    el = driver.find_element_by_xpath('//*[text()="酒店问题"]')
    TouchActions(driver).tap(el).perform()
    
    

    注意:这里是selenium里面的TouchActions
    不是appium里面的TouchAction https://www.cnblogs.com/yoyoketang/p/7852161.html

    appiumQQ群:330467341

  • 相关阅读:
    团队展示&选题
    结对编程(JAVA实现)
    wc项目(node.js实现)
    复审与事后分析
    事后诸葛亮分析报告
    Alpha阶段项目复审
    测试与发布
    Scrum 冲刺第五篇
    Scrum 冲刺第一篇
    项目冲刺
  • 原文地址:https://www.cnblogs.com/yoyoketang/p/10807190.html
Copyright © 2011-2022 走看看