前言
上一篇已经解决切换到微信公众号的webview上了,但是定位webview上元素的时候一直提示找不到,打印page_source也找不到页面上的元素,这个问题困扰了一整天,还好最后找到了原因,
此处埋了一个深坑,需要再次切换handle切换到webview
1.上一篇已经详细介绍如何切换到微信公众号的webview上,这里就不重复说了,贴下代码:
# 切换到webviewtime.sleep(2)print(driver.contexts)driver.switch_to.context('WEBVIEW_com.tencent.mm:tools')
切换handle
1.切换到webview上后,发现死活定位不到页面上的元素,打印page_source也找不到页面上的元素,最后打印当前的所以handle发现有两个
2.打印的结果有两个handle,那就只需要切换到第二个handle上就行了,也就是列表里面的下标[1]
['CDwindow-f00b5e03-11bc-4686-934e-26a32ac3a0fa', 'CDwindow-fdadc56e-eb01-4575-927e-74966e64c082']
操作webview
1.操作目标:点击webview上的“app”这个选项,然后定位列表页内容,并且打印出来
2.继续操作webview上的元素定位,这里的元素定位跟selenium的元素定位一样了
3.定位app列表页,并且打印列表的内容
在学习过程中有遇到疑问的,可以appium+python QQ群交流:330467341