我們生活中的app很大一部分都是混合型的app
分別由移動端的開發人員開發的原生頁面,以及h5的同學開發的h5頁面進行融合.
其中有一部分的作用在於能更好的更換內容.以及維護. 下面我們就來說一說如何在原生頁面遇到h5也就是android俗稱的webview的時候,如何進行切換方式,來獲取到元素.
現在來帶大家看一下如何進行來回的切換.從而進行獲取元素.
首先:
我們拿driver獲取到當前頁面的所有頁面類型. 並且同時 我們用String類型的set 集合來接收這個頁面所有類型.下面是步驟:
Set <String> contextset = driver.getContextHandles();
之後呢我們使用我們java的迭代器進行來進行判斷我們的頁面是否含有webview類型的頁面.
for(String context : contextset){
//先進行轉換成小寫 然後比對是否是webview模式
if (context.toLowerCase().contains("webview")) {
//進行頁面轉換。
driver.context(context);
break;
}
//點擊webview的元素。 可以生成本地html自己看 也可以找前端j接口地址,進行pc端轉換。也可抓包。
下面這行代碼是我封裝了這個click的方法,其實也就是點擊 傳參的path. 也就是driver.findevenlement.id.....等
car.Click(driver, "/html/body/section[1]/ul/li[1]/a", "id");
//當頁面轉換爲原生後。進行切換原生。
driver.context("NATIVE_APP");
到此我們的webview就進行了一個簡單的切換.
舉一反三 我們再遇到混合型app需要獲取webview的頁面元素時,就可以根據這個來實現.
-小餅呀