针对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的页面元素时,就可以根据这个来实现.

                                                                                                                                                        -小饼呀  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值