我们生活中的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的页面元素时,就可以根据这个来实现.
-小饼呀