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


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

webview定位方法

方法一:

1、打開chrome瀏覽器,輸入chrome://inspect

2、連接手機,如果沒有加載出來設備,請檢查是否連接手機以及打開開發者模式

3、打開手機app找到需要定位的頁面(webview)然后刷新chrome網頁,這個時候會出現一些內容,點擊inspect或者輸入在網頁中輸入地址。(需要FQ)

4、進行點擊查詢按鈕,這樣就可以定位元素位置了。這樣就按照selenium定位方法了。

方法二:

1、通過appium-desktop客戶端進行查看(安靜電腦上裝的是appium命令行,只說方法)

2、填寫appium信息,填寫完成后,打開手機app,點擊start session就可以定位元素了

方法三:

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、進行通過瀏覽器打開。

3、通過selenium的方法進行定位元素

 

方法有很多種,那種簡單用那種,重要的是學會思路,思路學會了,就很簡單了~

 

如果感覺安靜寫的對您有所幫助,點個關注,持續更新~~哪里有寫錯的地方,或者不懂的地方,可以下方留言,看到后第一時間回復~~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM