針對appium中webview獲取不到元素.如何進行來回切換從而獲取h5的元素.

我們生活中的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的頁面元素時,就可以根據這個來實現.

                                                                                                                                                        -小餅呀  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章