一、识别webview
用定位工具查看页面,发现页面上有些区域无法定位到,这时候可以查看元素属性,如右图它的class属性,上面写着WebView,那毫无疑问这种页面就是webview了。
二、context
1.context是上下文,环境
2.先获取页面contexts环境,获得的是一个list
print driver.contexts
[NATIVE_APP, WEBVIEW_com.xxxx ]
NATIVE_APP:这个就是native,也就是原生的
WEBVIEW_com.xxxx :这个就是webview
三、切换到Webview
1.要想操作webview上的元素,第一步需要切换环境
2.切换方法:switch_to.context(参数是webview的context)
由于第二步已经获取到contexts是一个list对象,取这个list的第二个参数就行,也就是contexts[1]
contexts = driver.contexts
driver.switch_to.context(contexts[1])
driver.current_context #获取当前环境,看是否切换成功
四、切换native
webview上操作完成之后,如果想切换会native环境,有两种方法
1.driver.switch_to.context("NATIVE_APP")
2.driver.switch_to.context(contexts[0])