【轉】NO.3、python+appium+ios,遍歷真機元素,得到webview

阿里瓜瓜發表於2017-08-29

pyhton+appium+iOS,遍歷真機webview。是遍歷真機的webview,遍歷模擬器的webview請另尋方法。

1.mac上安裝ios_webkit_debug_proxy

命令:brew install ios_webkit_debug_proxy

 

2.ios上開啟web檢查器

位置:設定—》Safari—》高階—》web檢查器

 

3.啟動ios_webkit_debug_proxy

命令:ios_webkit_debug_proxy -c xxxxxxxxxxxxxxxxxxx:27753 -d

-c後的引數指真機udid

 

4.driver.contexts即可得到頁面所有context,這個方法會將context存在list裡,列印出list內容,檢視你要的webview在第幾個,用switch_to.context()切換到那個webview即可,程式碼如下,

# 假設我的目標webview存在list裡的第三個

myWebview = self.driver.context[2]

self.driver.switch_to.context(myWebview)

這樣就切換到了目標webview,接下來就可以像web自動化一樣,操作html元素了。怎麼得到元素屬性,請繼續往下看。

 

 

----------------------------------------怎麼得到webview裡的元素--------------------------------------------

切換到了webview裡,就可以對元素操作了,但是第一步,要得到元素的屬性,下面講步驟:

 

1.啟動webkit服務,並指定谷歌瀏覽器進行監聽

ios_webkit_debug_proxy -f chrome-devtools://devtools/bundled/inspector.html

 

2.跑起你的用例程式碼,停留在含webview的頁面。注意,是跑起程式碼,停留在含webview的頁面,不是手動點到那個位置,切記!切記!

 

3.谷歌瀏覽器地址輸入http://127.0.0.1:9222

在列表中,你就看到了webview的地址,是個完整的url,如圖

 

 

4.複製出url到瀏覽器地址,回車,你就會看到在app裡一樣的webview頁面,接下來你就能像web自動化一樣,得到元素xpath等等了

 

---------------------------------------------------------------------------------------------------------------------------------------------------------------

 

相關文章