webview元素定位

genymotion 模擬器:android  5.0.0 
python 2.7
appium 1.4.16.1
一、app原生元素定位(經常使用)
driver.find_element_by_id(「resourse-id」)
driver.find_element_by_name(「text」)
driver.find_element_class_name(「class」)
driver._find_element_by_accessibility_id("content-desc")
二、android+python+webview頁面的定位
問題1):driver.contexts 的結果只有NATIVE_APP,無WEBVIEW
須要開發人員在對應的activity下增長代碼,從新打包,開啓webview遠程調試的開關,且只針對android4.4及以上有用
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {      this.appView.setWebContentsDebuggingEnabled(true);  }
問題2):獲取webview的名字
contexts = .driver.contexts for context in contexts:     print context
問題3):切換到webview模式
driver.switch_to.context("WEBVIEW ")
問題4):切換回原生NATIVE_APP
driver.switch_to().context("NATIVE_APP")
問題5):webview的定位方式
一、手機須要安裝谷歌瀏覽器,並打開app的網址;
二、在chrome中輸入chrome://inspect/#devices,此時打開app頁面
三、若是點擊inspect爲空白窗口,在hosts文件中添加以下地址:
61.91.161.217 chrome-devtools-frontend.appspot.com
61.91.161.217 chrometophone.appspot.com
四、而後cmd中輸入命令:ipconfig /flushdns   刷新dns配置,再打開inspect
五、點擊放大鏡符號能夠定位元素
三、此時可獲取到webview的url,直接在chrome打開也可進行元素定位
相關文章
相關標籤/搜索