欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

appium---webview(H5)元素定位

程序员文章站 2022-07-12 22:15:57
...

我们在做UI自动化的时候,肯定需要元素定位,那么webview(H5)的元素怎么定位呢?

webview定位方法

方法一:
1、打开chrome浏览器,输入chrome://inspect

2、连接手机,如果没有加载出来设备,请检查是否连接手机以及打开开发者模式
appium---webview(H5)元素定位
3、打开手机app找到需要定位的页面(webview)然后刷新chrome网页,这个时候会出现一些内容,点击inspect或者输入在网页中输入地址。(需要*)
appium---webview(H5)元素定位
4、进行点击查询按钮,这样就可以定位元素位置了。这样就按照selenium定位方法了。
appium---webview(H5)元素定位
方法二:
1、通过appium-desktop客户端进行查看(安静电脑上装的是appium命令行,只说方法)

2、填写appium信息,填写完成后,打开手机app,点击start session就可以定位元素了
appium---webview(H5)元素定位
appium---webview(H5)元素定位
方法三:
1、如果前面2种都没有办法定位的话,使出必杀技,通过 page_source 方法进行获取页面HTML,保存在本地,然后进行定位

# coding:utf-8
from appium import webdriver
import time
desired_caps = {
                        'platformName': 'Android',  # 测试版本
                        'deviceName': 'emulator-5554',   # 设备名
                        'platformVersion': '5.1.1', # 系统版本
                        'appPackage': 'com.yipiao', #apk的包名
                       'appActivity': '.activity.LaunchActivity', # apk的launcherActivity
                        "noReset": True,  # 不清空数据
                        }
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps)
time.sleep(6)
driver.find_element_by_xpath('//*[@text="下次再说"]').click()
time.sleep(3)
driver.find_element_by_xpath('//*[@text="我的"]').click()
# 点击产品意见
time.sleep(3)
driver.find_element_by_xpath('//*[@text="产品意见"]').click()
# 获取全部上下文
cons = driver.contexts
print(cons)
# 跳转到webview中
driver._switch_to.context("WEBVIEW_com.yipiao")
print(driver.context)
# 获取页面html,并保存到本地
p = driver.page_source
with open('123.html','wb')as f:
    f.write(p.encode('utf-8'))

2、进行通过浏览器打开。
appium---webview(H5)元素定位
3、通过selenium的方法进行定位元素
appium---webview(H5)元素定位
方法有很多种,那种简单用那种,重要的是学会思路,思路学会了,就很简单了~

点赞关注~~持续分享,了解更多,加入我们。642830685,免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。

appium---webview(H5)元素定位
appium---webview(H5)元素定位