2025年3月14日 星期五 甲辰(龙)年 月十三 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 编程开发 > Python

appium+python3.X 自动模拟点击APP双12活动

时间:12-10来源:作者:点击数:37

appium+python3.X 自动模拟点击APP双12活动

  • # 自动化淘宝活动:欢乐币
  • import time
  • from appium import webdriver
  • from selenium.webdriver.support.ui import WebDriverWait
  • def main():
  • desired_caps = {
  • 'platformName': 'Android', # 被测手机是安卓
  • 'platformVersion': '7', # 手机安卓版本
  • 'deviceName': 'xxx', # 设备名,安卓手机可以随意填写
  • 'appPackage': 'com.taobao.taobao', # 启动APP Package名称 com.jingdong.app.mall com.ss.android.ugc.aweme.lite
  • 'appActivity': 'com.taobao.tao.welcome.Welcome',
  • # 启动Activity名称 .main.MainActivity com.ss.android.ugc.aweme.main.MainActivity
  • '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(3)
  • # 如果有`青少年保护`界面,点击`我知道了`
  • # iknow = driver.find_elements_by_id("text3")
  • # if iknow:
  • # iknow.click()
  • while True:
  • try:
  • print("定位搜索框")
  • # 通过xpth定位搜索框
  • search_str = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.View'
  • driver.find_element_by_xpath(search_str).click()
  • time.sleep(1.5)
  • # 向输入框中发送文字
  • driver.find_element_by_id("com.taobao.taobao:id/searchEdit").send_keys('欢乐造红包')
  • time.sleep(1)
  • driver.find_element_by_id("com.taobao.taobao:id/searchbtn").click()
  • break
  • except:
  • time.sleep(1)
  • driver.back()
  • time.sleep(9)
  • # ss = 'com.taobao.taobao:id/decor_content_parent'
  • # ss = 'android:id/content'
  • # WebDriverWait(driver, 10).until(lambda x: x.find_element_by_accessibility_id(ss).is_displayed(),message='not find')
  • # driver.tap([(939,1855)])
  • return driver
  • def broswer(driver):
  • while True:
  • try:
  • time.sleep(1.5)
  • driver.find_element_by_android_uiautomator('new UiSelector().text("领欢乐币")').click()
  • print("找到领欢乐币文字...")
  • break
  • except:
  • print("未找到领欢乐币文字...")
  • time.sleep(2)
  • while True:
  • try:
  • time.sleep(2)
  • # 获取次数 浏览adidas旗舰店(10/15)
  • # count_str = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[3]/android.view.View/android.view.View[1]'
  • # count_info = driver.find_element_by_xpath(count_str).text
  • # 获取所有标签
  • count_strs = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View/android.view.View/android.view.View[1]'
  • count_infos = driver.find_elements_by_xpath(count_strs)
  • broswer_ix = -1
  • for broswer_ix, val in enumerate(count_infos):
  • val_text = val.text
  • if val_text.startswith('浏览'):
  • print("*val_text*", val_text)
  • broswer_ix = broswer_ix
  • break
  • elif val_text.startswith('观看'):
  • print("浏览观看开头,重新进")
  • # 点×再重新进
  • cha = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button'
  • driver.find_element_by_xpath(cha).click()
  • time.sleep(1)
  • driver.find_element_by_android_uiautomator('new UiSelector().text("领欢乐币")').click()
  • time.sleep(3)
  • continue
  • if broswer_ix != -1:
  • count_str = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[' + str(
  • broswer_ix) + ']/android.view.View/android.view.View[1]'
  • count_info = driver.find_element_by_xpath(count_str).text
  • count = (count_info.split('(')[-1]).split('/')[0]
  • count_all = (count_info.split('(')[-1]).split('/')[-1][:-1]
  • if int(count) < int(count_all):
  • time.sleep(1)
  • # 点击去完成
  • no_complete = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[' + str(
  • broswer_ix) + ']/android.widget.Button'
  • driver.find_element_by_xpath(no_complete).click()
  • time.sleep(16.5)
  • while True:
  • try:
  • # 浏览完15秒显示任务完成后返回
  • task = '(//com.uc.webview.export.WebView[@content-desc="WVUCWebView"])[1]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[1]/android.view.View'
  • task_txt = driver.find_element_by_xpath(task).text
  • if task_txt == '任务完成' or task_txt == '任务已经全部完成啦':
  • print(task_txt)
  • time.sleep(1)
  • driver.back()
  • time.sleep(1)
  • break
  • except:
  • time.sleep(1)
  • driver.back()
  • time.sleep(1)
  • break
  • elif int(count) < int(count_all) and count_info.startswith('观看'):
  • # 点×再重新进
  • cha = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button'
  • driver.find_element_by_xpath(cha).click()
  • time.sleep(1)
  • driver.find_element_by_android_uiautomator('new UiSelector().text("领欢乐币")').click()
  • time.sleep(2)
  • continue
  • else:
  • print("无需处理浏览:", count_info)
  • break
  • else:
  • break
  • except Exception as e:
  • print("浏览出错了,继续", e)
  • continue
  • def gg(driver):
  • time.sleep(2)
  • print("准备处理逛一逛")
  • while True:
  • try:
  • time.sleep(1)
  • # 获取次数 浏览adidas旗舰店(10/15)
  • # count_str = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[4]/android.view.View/android.view.View[1]'
  • # count_info = driver.find_element_by_xpath(count_str).text
  • # 获取所有标签
  • count_strs = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View/android.view.View/android.view.View[1]'
  • count_infos = driver.find_elements_by_xpath(count_strs)
  • for go_ix, val in enumerate(count_infos):
  • val_text = val.text
  • if val_text.startswith('逛一逛'):
  • print("*val_text*", val_text)
  • go_ix = go_ix
  • break
  • elif val_text.startswith('观看'):
  • print("逛一逛观看开头,重新进")
  • # 点×再重新进
  • cha = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button'
  • driver.find_element_by_xpath(cha).click()
  • time.sleep(1)
  • driver.find_element_by_android_uiautomator('new UiSelector().text("领欢乐币")').click()
  • time.sleep(2)
  • continue
  • else:
  • go_ix = -1
  • print("go_ix", go_ix)
  • if go_ix != -1:
  • count_str = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[' + str(
  • go_ix) + ']/android.view.View/android.view.View[1]'
  • count_info = driver.find_element_by_xpath(count_str).text
  • print(count_info)
  • count = (count_info.split('(')[-1]).split('/')[0]
  • count_all = (count_info.split('(')[-1]).split('/')[-1][:-1]
  • if int(count) < int(count_all):
  • time.sleep(1)
  • # 点击去完成
  • no_complete = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[' + str(
  • go_ix) + ']/android.widget.Button'
  • driver.find_element_by_xpath(no_complete).click()
  • time.sleep(16.5)
  • # 可以注释掉,然后直接返回
  • while True:
  • try:
  • print("进入任务页面,等待完成。。。")
  • # 浏览完15秒显示任务完成后返回
  • task = '(//com.uc.webview.export.WebView[@content-desc="WVUCWebView"])[1]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[1]/android.view.View'
  • task_txt = driver.find_element_by_xpath(task).text
  • print(task,task_txt)
  • if task_txt == '任务完成' or task_txt == '任务已经全部完成啦':
  • print(task_txt)
  • time.sleep(1)
  • driver.back()
  • time.sleep(1)
  • break
  • # 有时候task_txt等于:关注
  • else:
  • time.sleep(2)
  • driver.back()
  • break
  • except Exception as e:
  • print("等待任务页面出错,",e)
  • time.sleep(2)
  • driver.back()
  • time.sleep(1)
  • break
  • elif int(count) < int(count_all) and count_info.startswith('观看'):
  • # 点×再重新进
  • cha = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button'
  • driver.find_element_by_xpath(cha).click()
  • time.sleep(1)
  • driver.find_element_by_android_uiautomator('new UiSelector().text("领欢乐币")').click()
  • time.sleep(2)
  • continue
  • else:
  • print("无需处理逛一逛:", count_info)
  • break
  • else:
  • break
  • except Exception as e:
  • print("逛一逛出错了,继续", e)
  • continue
  • def so_so(driver):
  • time.sleep(2)
  • print("准备处理搜一搜")
  • while True:
  • try:
  • time.sleep(1)
  • # 获取次数 浏览adidas旗舰店(10/15)
  • # count_str = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[4]/android.view.View/android.view.View[1]'
  • # count_info = driver.find_element_by_xpath(count_str).text
  • # 获取所有标签
  • count_strs = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View/android.view.View/android.view.View[1]'
  • count_infos = driver.find_elements_by_xpath(count_strs)
  • for so_ix, val in enumerate(count_infos):
  • val_text = val.text
  • if val_text.startswith('搜一搜'):
  • print("*val_text*", val_text)
  • so_ix = so_ix
  • break
  • else:
  • so_ix = -1
  • print("so_ix:", so_ix)
  • if so_ix != -1:
  • count_str = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[' + str(
  • so_ix) + ']/android.view.View/android.view.View[1]'
  • count_info = driver.find_element_by_xpath(count_str).text
  • count = (count_info.split('(')[-1]).split('/')[0]
  • count_all = (count_info.split('(')[-1]).split('/')[-1][:-1]
  • if int(count) < int(count_all):
  • time.sleep(1)
  • # 点击去完成
  • no_complete = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[2]/android.widget.ListView/android.view.View[' + str(
  • so_ix) + ']/android.widget.Button'
  • driver.find_element_by_xpath(no_complete).click()
  • time.sleep(16.5)
  • while True:
  • try:
  • # 浏览完15秒显示任务完成后返回
  • task = '(//com.uc.webview.export.WebView[@content-desc="WVUCWebView"])[1]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View/android.view.View[1]/android.view.View'
  • task_txt = driver.find_element_by_xpath(task).text
  • if task_txt == '任务完成' or task_txt == '任务已经全部完成啦':
  • print(task_txt)
  • time.sleep(1)
  • driver.back()
  • time.sleep(1)
  • break
  • except:
  • time.sleep(2)
  • driver.back()
  • time.sleep(1)
  • break
  • elif int(count) < int(count_all) and count_info.startswith('观看'):
  • # 点×再重新进
  • cha = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button'
  • driver.find_element_by_xpath(cha).click()
  • time.sleep(1)
  • driver.find_element_by_android_uiautomator('new UiSelector().text("领欢乐币")').click()
  • time.sleep(2)
  • continue
  • else:
  • print("无需处理搜一搜:", count_info)
  • break
  • else:
  • print("搜一搜处理完成,退出循环")
  • break
  • except Exception as e:
  • print("搜一搜出错了,继续", e)
  • continue
  • try:
  • cha = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View/android.view.View/android.view.View/android.widget.Button'
  • driver.find_element_by_xpath(cha).click()
  • except Exception as e:
  • print("尝试点×出错", e)
  • pass
  • def browser_gold(driver):
  • # 获取屏幕宽高:
  • width = driver.get_window_size()['width'] # 1080
  • height = driver.get_window_size()['height'] # 1920
  • time.sleep(2)
  • # 寻找逛一逛金币页面
  • print("准备处理逛金币,屏幕尺寸宽和高分别为:", width, height)
  • jinbi = False
  • while True:
  • try:
  • time.sleep(1.5)
  • driver.find_element_by_android_uiautomator('new UiSelector().text("逛淘金币小镇 购物可用金币抵")').click()
  • print("找到逛淘金币小镇 购物可用金币抵文字...")
  • time.sleep(1)
  • break
  • except Exception as e:
  • print("未找到逛淘金币小镇 购物可用金币抵文字...重新获取", e)
  • time.sleep(2)
  • while True:
  • try:
  • time.sleep(5)
  • print("点击赚金币")
  • driver.find_element_by_android_uiautomator('new UiSelector().text("赚金币")').click()
  • time.sleep(1)
  • jinbi = True
  • break
  • except Exception as e:
  • print("点击赚金币未获取到,重新获取", e)
  • time.sleep(2)
  • LI = ['逛猜你喜欢', '逛好店领', '逛聚划算双', '逛淘金币首页', '逛淘金币抵扣', '签到领话费','好店浏览得', '逛逛大牌','看免费小',
  • '逛高比例抵扣', '逛淘金币专属', '浏览福利', '逛淘金币超值', '逛优质抵扣', '欢乐造12', '逛健康大', '天猫国际', '逛苏宁']
  • while True:
  • try:
  • if jinbi and LI:
  • # 领取奖励按钮
  • try:
  • rewards = driver.find_elements_by_android_uiautomator('new UiSelector().text("领取奖励")')
  • length = len(rewards)
  • print("可领奖励个数:", length)
  • for _ in range(length):
  • time.sleep(2)
  • reward_ = driver.find_element_by_android_uiautomator('new UiSelector().text("领取奖励")')
  • time.sleep(1)
  • print("点击领取奖励")
  • reward_.click()
  • time.sleep(2)
  • except:
  • pass
  • time.sleep(1)
  • # 获取所有标签
  • count_strs = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[7]/android.view.View[2]/android.widget.ListView/android.widget.ListView/android.view.View/android.view.View/android.view.View[1]'
  • count_infos = driver.find_elements_by_xpath(count_strs)
  • # 查看按钮上的文字是已完成还是去完成
  • button_t = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[7]/android.view.View[2]/android.widget.ListView/android.widget.ListView/android.view.View/android.widget.Button'
  • button_txts = driver.find_elements_by_xpath(button_t)
  • for i in count_infos:
  • print("***", i.text)
  • # 构造字典,key是标签名,value是未完成,已完成的不添加
  • item = {}
  • for i in range(len(count_infos)):
  • # 可以在这里处理已完成的:逛高比例抵扣商品(1/1)
  • if button_txts[i].text != '已完成':
  • item[count_infos[i].text] = button_txts[i].text
  • # 终止外循环
  • break_out = False
  • # 如果有每日来访领能量这个标签,则so_ix要+1
  • coll_engine = False
  • # print(item)
  • so_ix = -1
  • li = ''
  • for so_ix, val in enumerate(item):
  • val_text = list(item.keys())[so_ix]
  • print("----", so_ix, val_text, item[val])
  • if val_text.startswith('每日来访领能量'):
  • coll_engine = True
  • for li in LI:
  • if val_text.startswith(li):
  • print("*val_text*", val_text, so_ix)
  • break_out = True
  • so_ix = so_ix
  • li = li
  • break
  • if break_out:
  • break
  • if not break_out:
  • LI.remove(li)
  • print("没有匹配到需要处理的数据,退出")
  • break
  • print("so_ix:", so_ix, li)
  • # if coll_engine:
  • # so_ix = so_ix + 1
  • so_ix = so_ix + 1
  • print("so_ix:", so_ix)
  • if so_ix != -1:
  • slide_up = 0
  • count_str = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[7]/android.view.View[2]/android.widget.ListView/android.widget.ListView/android.view.View[' + str(
  • so_ix) + ']/android.view.View/android.view.View[1]'
  • count_info = driver.find_element_by_xpath(count_str).text
  • count = (count_info.split('(')[-1]).split('/')[0]
  • count_all = (count_info.split('(')[-1]).split('/')[-1][:-1]
  • print("count", count, count_all, count_info)
  • if so_ix == 8 or so_ix == 7:
  • # 向上滑动,y坐标值由大到小
  • print("向上滑动1次")
  • slide_up = 1
  • elif so_ix == 9 or so_ix == 10:
  • print("向上滑动2次")
  • slide_up = 2
  • # 向上滑动,y坐标值由大到小
  • elif so_ix == 11 or so_ix == 12:
  • print("向上滑动3次")
  • slide_up = 3
  • elif so_ix == 13 or so_ix == 14:
  • print("向上滑动4次")
  • slide_up = 4
  • elif so_ix == 15 or so_ix == 16:
  • print("向上滑动5次")
  • slide_up = 5
  • if slide_up > 0:
  • for i in range(slide_up):
  • time.sleep(1)
  • driver.swipe(width / 2, height * 0.8, width / 2, height * 0.6) # 每次滑动屏幕2个位置
  • time.sleep(1)
  • if int(count) < int(count_all):
  • time.sleep(1)
  • # no_complete = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[7]/android.view.View[2]/android.widget.ListView/android.widget.ListView/android.view.View['+str(so_ix)+']/android.widget.Button'
  • time.sleep(1)
  • count_str_ = '//com.uc.webview.export.WebView[@content-desc="WVUCWebView"]/com.uc.webkit.ay/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[7]/android.view.View[2]/android.widget.ListView/android.widget.ListView/android.view.View[' + str(
  • so_ix) + ']/android.view.View/android.view.View[1]'
  • count_info_ = driver.find_element_by_xpath(count_str_).text
  • print(count_info_, 'new UiSelector().text("' + count_info_ + '")')
  • # 点击要处理的那一行文字
  • driver.find_element_by_android_uiautomator(
  • 'new UiSelector().text("' + count_info_ + '")').click()
  • # driver.find_element_by_xpath(no_complete).click()
  • time.sleep(15)
  • if count_info.startswith("逛淘金币首页"):
  • time.sleep(3.5)
  • driver.back()
  • time.sleep(2)
  • if count_info.startswith("欢乐造12"):
  • driver.find_element_by_android_uiautomator('new UiSelector().text("残忍离开")').click()
  • time.sleep(2)
  • if slide_up > 0:
  • for i in range(slide_up + 1):
  • # 向下滑动,y坐标值由小到大
  • print(f"向下滑动第{i + 1}次,为了使领取奖励显示出来")
  • driver.swipe(width / 2, height * 0.6, width / 2, height * 0.8) # 每次滑动屏幕2个位置
  • time.sleep(2)
  • # 点击领取奖励
  • try:
  • driver.find_element_by_android_uiautomator('new UiSelector().text("领取奖励")').click()
  • except:
  • pass
  • else:
  • print("无需处理逛金币:", count_info)
  • if slide_up > 0:
  • for i in range(slide_up):
  • # 向下滑动,y坐标值由小到大,因为上面已经滑动过,还需滑动回去
  • print(f"向下滑动第{i + 1}次,为了滑动到顶部")
  • time.sleep(1)
  • driver.swipe(width / 2, height * 0.6, width / 2, height * 0.8) # 每次滑动屏幕2个位置
  • time.sleep(1)
  • LI.remove(li)
  • print("LI:", LI)
  • continue
  • else:
  • print("逛金币处理完成,退出循环")
  • break
  • except Exception as e:
  • print("逛金币出错了,继续", e)
  • err = str(e)
  • if "socket hang up" in err:
  • print("app异常闪退,直接退出")
  • break
  • time.sleep(1)
  • driver.back()
  • time.sleep(1)
  • continue
  • if __name__ == '__main__':
  • driver = main()
  • broswer(driver) # 浏览
  • gg(driver) # 逛一逛
  • so_so(driver) # 搜一搜
  • # 赚金币
  • browser_gold(driver)
  • input('以上处理完成 Press Enter to quit..')
  • driver.quit()
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐