zoukankan      html  css  js  c++  java
  • Appium解决native+webview混合型APP(公众号、小程序)切换webview后元素无法定位问题

    问题:最近在做一个安卓+H5混合开发的APP自动化测试,发现在从native切换到webview后,元素仍然无法找到,报错:no such element

    思路:于是思考webview会不会像web页面一样存在多个handles呢?用window_handles去取所有的handle,发现果然不止一个。接下来就要确定所要操作的元素具体在哪一个handle,使用switch_to_window(handle)切换,如果可以找到我们需要的元素,说明元素在这个handle,就可以继续后面的自动化操作。

    实现

    all_handles = driver.window_handles
            for handle in all_handles:
                try:
                    driver.switch_to_window(handle)
                    print(handle)
                    driver.find_element('xpath', "//div[2]/div/div/div/div[2]/div/button")
              print('元素定位成功') driver.click(
    'xpath', "//div[2]/div/div/div/div[2]/div/button") driver.send_keys('125808119', 'xpath', ".//*[@id='phone_login']/div[2]/div/input") driver.send_keys('1001', 'xpath', ".//*[@id='phone_login']/div[3]/div/input") driver.send_keys('111111', 'xpath', ".//*[@id='phone_login']/div[4]/div/input") driver.click('xpath', "//div[6]/div[2]/div/button") sleep(2)
              break except Exception as e: print(e)
     
  • 相关阅读:
    Ocaml入门(3)
    Delphi数组成员丢失
    Delphi合并2个动态数组
    Delphi用指针读取数组某个元素
    Delphi函数返回数组之TList函数返回
    Delphi函数返回数组之使用TList参数
    Delphi让函数返回数组
    Delphi双向链表
    Delphi指针与string
    Delphi函数指针,用于加载DLL
  • 原文地址:https://www.cnblogs.com/xioawu-blog/p/11671962.html
Copyright © 2011-2022 走看看