python实现app自动签到器_使用Python3实现自动登录并签到的小机器人
import osfrom appium import webdriverfrom appium.webdriver.common.touch_action import TouchActionfrom selenium.common.exceptions import NoSuchElementExceptionfrom selenium.webdriver.common.by import B
import os
from appium import webdriver
from appium.webdriver.common.touch_action import TouchAction
from selenium.common.exceptions import NoSuchElementException
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from pymongo import MongoClient
from time import sleep
from config import *
PLATFORM = 'Android'
DEVICE_NAME = 'HUAWEI_MLA_AL10'
APP_PACKAGE = 'your packageName'
APP_ACTIVITY = 'your packageName.activity.WelcomeActivity'
DIRVER_SERVER = 'http://localhost:4723/wd/hub'
TIMEOUT = 300
MONGO_URL = 'localhost:27017'
MONGO_DB = 'admin'
MONGO_COLLECTION = 'admin'
class ():
def __init__(self):
self.desired_caps = {
'platformName': PLATFORM,
'deviceName': DEVICE_NAME,
'appPackage': APP_PACKAGE,
'appActivity': APP_ACTIVITY,
'noReset':True
}
self.dirver = webdriver.Remote(DIRVER_SERVER, self.desired_caps)
self.wait = WebDriverWait(self.dirver, TIMEOUT)
def login(self):
# 账号
phone = self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/et_login_phone')))
phone.set_text(USERNAME)
# 密码
password = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@resource-id="your packageName:id/et_login_pw"][1]')))
password.set_text(PASSWORD)
# 登录按钮
login = self.wait.until(EC.presence_of_element_located((By.ID, "your packageName:id/tv_login")))
login.click()
#启动时
def trans1(self):
ad=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/img_close')))
ad.click()
mine=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/tv_mine')))
mine.click()
res_log=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/tv_btn')))
res_log.click()
#登录成功之后关闭广告进入我的
def trans(self):
ad=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/img_close')))
ad.click()
mine=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/tv_mine')))
mine.click()
#签到
def qian(self):
# qd= self.wait.until(EC.presence_of_element_located((By.XPATH,'//*[@class=android.widget.TextView[2]]')))
# qd.click()
self.dirver.find_element_by_xpath("//*[@text='签到']").click()
rt=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/bar_id_left_view')))
rt.click()
#进入个人中心退出登录
def again(self):
mine_name=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/tv_mine_name')))
mine_name.click()
quit=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/tv_exit_login')))
quit.click()
quit_ok=self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/tv_exit_ok')))
quit_ok.click()
def login1(self):
# 账号
phone = self.wait.until(EC.presence_of_element_located((By.ID, 'your packageName:id/et_login_phone')))
phone.set_text(USERNAME1)
# 密码
password = self.wait.until(EC.presence_of_element_located((By.XPATH, '//*[@resource-id="your packageName:id/et_login_pw"][1]')))
password.set_text(PASSWORD1)
# 登录按钮
login = self.wait.until(EC.presence_of_element_located((By.ID, "your packageName:id/tv_login")))
login.click()
def main(self):
#跳转
self.trans1()
# 登录
self.login()
#再跳转
self.trans()
#签到
self.qian()
#进入个人中心退出
self.again()
#再次登录
self.login1()
self.trans()
self.qian()
self.again()
if __name__ == '__main__':
ans = Solve()
ans.main()
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐

所有评论(0)