为什么这个要单独拿出来说,因为我在很多群里面看见很多人不能区分这个!

因为之前的包有点问题,另外后续还会更换app,因为部分app可能没有符合的案例场景,我需要找到那个场景给大家做个实例..便于大家跟着操作...

So 本章换个app,换一个一亿人都在用的app,安卓市场!!!!!!!

提醒:建议初学者跟着敲,边敲边理解!  实际上截止本章为止,和有无python基础关系不大,前几章的东西都是需要记的!

路径:直接复制

 Start['appPackage']='com.hiapk.marketpho'      #包名
Start['appActivity']='com.baidu.appsearch.LauncherActivity'

如图所示,改下这三个东西就好了!

然后,打开手机进入安卓市场!

首次打开会有一个权限弹窗(下章讲到)

这个脚本写好直接点击就可以了,,以往章节更新的内容可以完全可以操作这一步!

from site_packages.appium import webdriver
import time
Start={}
Start['platformName']='android' #设备型号 android或者ios
Start['platformVersion']='7.1.2' #安卓设备版本号
Start['deviceName']='2905bdb6' #安卓设备名称
Start['app']=r'C:\Users\Administrator\Desktop\xuexi\apk\anzhuoshichang_16793302.apk' #设备路径 pc电脑存放apk包的路径
#上面的路径不推荐这种写法,但是目前先这么写!后续告诉大家正确的写法
Start['appPackage']='com.hiapk.marketpho' #包名
Start['appActivity']='com.baidu.appsearch.LauncherActivity' #容器
Start['noReset']='True' #是否重新安装app True不重新安装
Start['unicodeKeyboard']='True' #是否禁用手机键盘 True禁用手机输入法
Start['resetKeyboard']='True' #是否启动appium自带键盘 True开始手机输入法
Start['automationName']='Uiautomator2' #可选模式 本教程默认 Uiautomator2
Start['newCommandTimeout']='' #超时时间(s)
driver = webdriver.Remote('http://localhost:4723/wd/hub', Start)
driver.implicitly_wait(10) #隐式等待十秒
time.sleep(3)
#点击立即体验进入首页
try:
driver.find_element_by_id('com.hiapk.marketpho:id/iknow').click()
except:
pass
time.sleep(3) #可能由于网速或者其他原因页面加载较慢,所以加个等待时间---等待三秒之后在执行下面的定位元素语句

注:完全没有python基础的给补充一点

  

try:

如果下面这句报错,   如果不报错则except里面的则不执行

except:

  就执行excep下面的语句,注意缩进

放在这里的意思是,因为【立即开启*****】这个按钮只有第一次进入才有,后续进入就没有了,所以如果能点击这个就点击,不能点击就执行except,直接pass,

之前有提到很多中定位方式,这里建议试一下!

….

大家会发现首次打开APP的时候,大家会发现安装之后.有一个 权限读写的弹出层,这个东西怎么定位呢!  这个东西下章给更新细说!这章主要介绍 element和elments,这个允许按钮大家在这里手动点击一下直接进入下一个步骤!

点击立即开启 进入首页:

发现 如图标示的五个元素的id是一样的…比如我要定位第二个(排行上面的图片)这个时候怎么定位

如果用driver.find_element_by_id()定位会怎么样呢,上面的脚本加上这个执行

a=driver.find_element_by_id('com.hiapk.marketpho:id/icon')
print(a)
a.click()

会发现打印的是第一个(<site_packages.appium.webdriver.webelement.WebElement (session="ba0c2ba5-9ca7-42bd-9bb2-45eecd5e1f8a", element="88939232-8c60-4ece-aae0-744895b9422d")>),切点击的也是第一个元素

那么用driver.find_elements_by_id()

a=driver.find_elements_by_id('com.hiapk.marketpho:id/icon')
print(a)
a.click()

执行结果:

很明显报错了---这里涉及到python基础语法—--list取值!因为 elements取出来的是一个 list集合,list很显然是无法直接点击的!

语法:a=[1,2,3,4,5]

a[0]取出来的结果是1

a[1]取出来的结果是2 以此类推

所以修改脚本如下a[1]是取第二个…也就是说点击排行

a=driver.find_elements_by_id('com.hiapk.marketpho:id/icon')
print(a)
a[1].click()

执行结果:达到预期

Start['appPackage']='com.hiapk.marketpho'      #包名
Start['appActivity']='com.baidu.appsearch.LauncherActivit

最新文章

  1. CentOS 7 安装MySQL 5.6遇到的疑难杂症小结
  2. [LeeCode]Power of Two
  3. No.014:Longest Common Prefix
  4. linux下如何打包压缩?解包解压?.tar文件.gz文件
  5. 很多k线形态或k线组合是需要验证的
  6. WinForm程序用使用List对象绑定DataGridView数据源
  7. 控制不能离开Finally子句主体
  8. LAMP一键安装包-CentOS 5/6下自动编译安装Apache,MySQL,PHP
  9. Oracle递归sql笔记
  10. ubuntu的/etc/modules内核模块文件
  11. SQLServer之创建事务未提交读
  12. [转帖]前端-chromeF12 谷歌开发者工具详解 Network篇
  13. 【OpenFOAM案例】03 Docker安装OpenFOAM
  14. string Type
  15. Android Studio自定义组合控件
  16. RxJS 简介:可观察对象、观察者与操作符
  17. css样式小技巧
  18. How to Land your Dream Job
  19. python入门-文件
  20. 国内能用的NTP服务器及和标准源的偏差值

热门文章

  1. PAT——1012. 数字分类
  2. Android 复制 粘贴 剪贴板的使用 ClipboardManager
  3. iOS中break、continue、return三者的区别
  4. EF Core如何输出日志到Visual Studio的输出窗口
  5. springBoot+mybatisPlus小demo
  6. ubuntu上建立本地git 和 网络 github的上传与下载
  7. oracle 之分析函数 over (partition by ...order by ...)
  8. Oracle GoldenGate同步服务归档空间维护
  9. 汇编中PSP是什么?为什么一般cs比ds大10h
  10. 判断FreeMarker是否为空