app端实现登录微博

首先在夜神打开微博,在cmd查看app和activity
在这里插入图片描述

定位出对应的ID

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
import time

PLATFORM = 'Android'
deviceName = '4.4.2'
app_package = 'com.sina.weibo'
app_activity = '.VisitorMainTabActivity'
driver_server = 'http://127.0.0.1:4723/wd/hub'


class Weibo_Login():
    def __init__(self,phone_num,password):
        self.desired_caps = {
          'platformName': PLATFORM,
          'deviceName': deviceName,
          'appPackage': app_package,
          'appActivity': app_activity
        }
        self.phone_num = phone_num
        self.password = password

        self.driver = webdriver.Remote(driver_server, self.desired_caps)
        self.wait = WebDriverWait(self.driver, 300)

    def login(self):
        print('点击登陆')
        login = self.wait.until(EC.presence_of_element_located((By.ID, 'com.sina.weibo:id/titleBack')))
        login.click()

        time.sleep(3)
        user = self.wait.until(EC.presence_of_element_located((By.ID, 'com.sina.weibo:id/tv_login_more_questions')))
        user.click()

        # 输入手机号
        phone = self.wait.until(EC.presence_of_element_located((By.ID, 'com.sina.weibo:id/et_pws_username')))
        print('正在输入手机号')
        phone.send_keys(self.phone_num)

        print('正在输入密码')
        password = self.wait.until(EC.presence_of_element_located((By.ID, 'com.sina.weibo:id/et_pwd')))
        password.send_keys(self.password)
        login = self.driver.find_element_by_id('com.sina.weibo:id/bn_pws_Login')
        login.click()
        print('登录成功')

    def main(self):
        self.login()

if __name__ == '__main__':
    phone_num = input('你的微博账号是:')
    password= input('你的微博密码是:')
    weibo = Weibo_Login(phone_num,password)
    weibo.main()

猜你喜欢

转载自blog.csdn.net/weixin_44510615/article/details/89222767