#-*- coding:utf-8 -*-
from appium import webdriver
from selenium.webdriver.common.by import By
from appium.webdriver.extensions.android.nativekey import AndroidKey
import time
import csvdesired_caps = {'platformName': 'Android', # 被测手机是安卓'platformVersion': '7', # 手机安卓版本'deviceName': 'xxx', # 设备名,安卓手机可以随意填写'appPackage': 'com.shizhuang.duapp', # 启动APP Package名称'appActivity': '.modules.home.ui.SplashActivity', # 启动Activity名称'unicodeKeyboard': True, # 使用自带输入法,输入中文时填True'resetKeyboard': True, # 执行完程序恢复原来输入法'noReset': True,       # 不要重置App'newCommandTimeout': 6000,'automationName' : 'UiAutomator2'# 'app': r'd:\apk\bili.apk',
}# 连接Appium Server,初始化自动化环境
driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)# 设置缺省等待时间
driver.implicitly_wait(10)driver.find_element(By.ID, 'ivSearch').click()
time.sleep(2)
# # 根据id定位搜索位置框,点击
# driver.find_element(By.ID, 'collapseSearchArea').click()
# time.sleep(2)
# 根据id定位搜索输入框,点击
sbox = driver.find_element(By.ID, 'etSearch')
sbox.send_keys('篮球鞋')
time.sleep(2)
driver.find_element(By.ID, 'tvSearch').click()
time.sleep(2)
driver.find_element(By.XPATH, '//android.widget.TextView[@text="商品"]').click()
time.sleep(2)
driver.find_element(By.XPATH, '//android.widget.TextView[@text="筛选"]').click()
time.sleep(2)
driver.find_element(By.XPATH, '//android.widget.TextView[@text="0-349"]').click()
time.sleep(2)
driver.find_element(By.ID, 'tvConfirm').click()
time.sleep(2)
driver.find_element(By.XPATH, '//android.widget.TextView[@text="累计销量"]').click()
time.sleep(2)# # 每翻页就不一样? 会有重复值吗?
# search_titles = driver.find_elements(By.ID, 'search_title')
#
# for search_title in search_titles:
#     # 打印标题
#     print(search_title.text)def save_data():# tree = etree.HTML(html_str)# li_list = driver.find_elements(By.ID, 'search_root') #所有trsearch_title = driver.find_elements(By.ID, 'itemTitle')# print()# for li in li_list:#这玩意叫列表遍历# search_image = driver.find_elements(By.ID, 'search_title')[0]for i in range(0,len(search_title)):try:search_title = driver.find_elements(By.ID, 'itemTitle')[i]# print(search_title.text)search_price = driver.find_elements(By.ID, 'itemPrice')[i]# print(search_price.text)search_sold= driver.find_elements(By.ID, 'itemSoldNum')[i]# print(search_sold.text)except IndexError:passitem = {}item['search_title'] = search_title.textitem['search_price'] = search_price.textitem['search_sold'] = search_sold.textdatas = []dic = item# print(item)fieldnames = ['search_title', 'search_price', 'search_sold']datas.append(dic)with open('5.csv', 'a', newline='', encoding='utf-8-sig') as f:writer = csv.DictWriter(f, fieldnames=fieldnames,dialect="excel")  # 提前预览列名,当下面代码写入数据时,会将其一一对应。writer.writeheader()  # 写入列名writer.writerows(datas)  # 写入数据def getSize():                               #获取当前的width和height的x、y的值x = driver.get_window_size()['width']   #width为x坐标y = driver.get_window_size()['height']  #height为y坐标# print(x,y)return (x, y)def swipeUp(t):  #当前向上滑动swipeupl = getSize()x1 = int(l[0] * 0.5)y1 = int(l[1] * 0.75)y2 = int(l[1] * 0.25)driver.swipe(x1, y1, x1, y2,500)  #设置时间为500
# swipeUp(9000)     #向上滑动9000def swipLeft(t):    #当前向左进行滑动swipleftl=getSize()x1=int(l[0]*0.75)y1=int(l[1]*0.5)x2=int(l[0]*0.05)driver.swipe(x1,y1,x2,y1,500)
# swipLeft(3000)        #向左滑行3000def swipeDown(t):    #向下滑动swipedownl = getSize()print(l)x1 = int(l[0] * 0.5)y1 = int(l[1] * 0.25)y2 = int(l[1] * 0.75)driver.swipe(x1, y1, x1, y2,500)print(x1, y1, y2)
# swipeDown(1000)   #向下滑动10000
# time.sleep(2)
# swipeDown(1000)   #向下滑动10000
# time.sleep(2)
# swipeDown(1000)   #向下滑动10000def swipRight(t): #向右滑行swiprightl=getSize()x1=int(l[0]*0.05)y1=int(l[1]*0.5)x2=int(l[0]*0.75)driver.swipe(x1,y1,x2,y1,500)
# swipRight(3000)    #向右滑行3000,回到初始位置for i in range(0,1000):save_data()time.sleep(2)swipeUp(960)print('第%s页爬取完成'%i)

appium毒——球鞋怎么买?相关推荐

  1. 晚上鸟沒事,白天没鸟事_鸟箱

    晚上鸟沒事,白天没鸟事 This is a sequel to my previous post about image classification using the NABirds data s ...

  2. 我终于知道上哪里给男朋友买礼物了,姐妹们毒APP用起来

    每次看到有通稿教男生怎么给女朋友送礼物的时候,我的内心都在呐喊有没有人可以教教女生怎么送男朋友礼物啊!说实话,我觉得女生给男朋友买礼物可太难了,一来是不知道直男到底想要什么,二来就算知道这些直男想要啥 ...

  3. 分析千万数据,我们深扒了风口上的球鞋转卖市场

    本文特别鸣谢资深球鞋爱好者.美国经济学博士Pixiong:美国亚马逊经济学家.康奈尔大学经济学博士孙煜征.感谢两位博士对本次研究提供的帮助. 声明:该研究与第三方均无任何利益关系,为增长黑盒独立完成, ...

  4. 农民思考互联网时代农民的未来

    虽然 读的书不多,但感觉看书上说历史经历了好多时代之后就是工业时代,信息时代. 从改革开放到现在,感觉工业化和信息化好像都在城市,而且成功了,但在农村,除了可以看CCTV,收麦子用收割机,虽然感觉变化 ...

  5. 【转载】浅的不能再浅的浅谈百利金单双胡及全字尖

    入笔坛粗略算起来已经快六年了吧,从最开始的 lamy2k 到一心想收全五大,到最后变成了只玩百利金400大小的系列笔. 期间认识了很多好玩的人,吃过很多饭,扯过很多淡(要不是爷们居多,估计可以早都炮火 ...

  6. python复杂网络点图可视化_数据分析:R与Python怎么选?

    作者介绍 知春里@伟仔 不知名数据科学家. 持续写<数据分析>和<数据产品>的系列文章,欢迎关注. 01 选R还是Python? "球鞋是买阿迪还是买耐克?" ...

  7. 一个人如果不结婚也无儿无女无兄弟姐妹,虽然可以自由自在一辈子,但老了怎么办?

    人的理性有个bug,那就是今天的你和明天的你,严格来说并不一是同一个人,但后者却要为前者的行为买单. 今天的你,并不能完全体会和理解今后的自己,所以就像陶渊明说的,觉今是而昨非--过去的我真特么的是个 ...

  8. 高级售前客户服务专员考试

    以下选项中哪个店铺不建议频繁使用较新潮的表情包 A 主营童装亲子装店铺 B 主营彩妆香水店铺 C 主营商务箱包皮具店铺 D 主营流行首饰店铺 对于流失订单,最佳回访周期是多久? A 当天 B 5天内 ...

  9. 负债的“90后、00后”日益增多 他们在网上抱团自救

    "负债青年"的网络抱团自救 在北京工作的90后陈亮,总感觉口袋里的钱不知不觉就花掉了.只要花呗.借呗.信用卡有额度,他就觉得自己还有钱,结果越贷越多,让他加入"英年早负& ...

最新文章

  1. Python 运算符之成员运算符 in 与 not in
  2. 认知推理下的常识知识库资源、常识测试评估与中文实践项目索引
  3. golang适合做什么_这年头中年女人适合做什么兼职
  4. 分词verterbi算法实现NLP分词,作者写的经验博客很丰富,需要重点读
  5. typedef,static,const用法
  6. C#中串口组件的使用方法总结及上位机制作方法
  7. 最完整的时间序列分析和预测(含实例及代码)
  8. yii 引用php文件,Yii中引出php文件及插件
  9. 【洛谷】P1111 修复公路
  10. Kubernetes 之 MySQL 持久存储和故障转移(十一)
  11. 路由器的软件测试,路由器测试方法 - 软件测试网 _领测软件测试网站-中国软件测试技术第一门户...
  12. 如何用AD打开PADS的PCB文件?
  13. 【串口服务器】串口转WIFI
  14. 新浪微博爬取笔记(4):数据清理
  15. 英文名为什么最好不用joe?JOE英文名的寓意是什么?
  16. 共享单车公司每年花上亿元赎车
  17. mysql 切分_Mysql字符串切分
  18. 怎么在CAD三维图面上添加一长段说明文字?
  19. 竞技体育数据可视化与可视化分析综述
  20. 什么是前端渲染和后端渲染和SPA页面

热门文章

  1. 开源OA教程详解:数据中心导入模型设置
  2. 架构师之路(三)谈谈架构师的职责
  3. Swift项目集成有盟推送
  4. 【2022 CCF BDCI 文心大模型创意项目】中秋款文心带你轻松搞定MV制作
  5. matlab feko,MATLAB在FEKO数据后处理中的应用
  6. 我每天重复写这个API,没有一次请求状态码是200
  7. 王小川讽刺李彦宏活在平行宇宙,百度回击;字节盈利增八成,首超腾讯阿里;优酷回应非会员收看3000秒广告 | EA周报...
  8. DNS——简介及正向解析、反向解析
  9. 计算机应用智能楼宇专业,计算机应用技术智能楼宇毕业论文.doc
  10. OpenGL 体积光 光柱实现代码解读教程