Appium解决native+webview混合型APP(公众号小程序)切换webview后元素无法定位问题

Posted 凌风子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)

 

 

 

以上是关于Appium解决native+webview混合型APP(公众号小程序)切换webview后元素无法定位问题的主要内容,如果未能解决你的问题,请参考以下文章

appium 切换native/ webview,findby,还有页面元素定位一直小于0的问题的解决

Appium+Java自动化测试 android混合APP的webview页面截图怎么截?

解决android SDK不能更新,appium测试混合app无法返回webview问题

Appium - WebView測试(Android)

appium+python自动化62-webview元素click失效问题解决

appium不能获取webview内容的解决办法