首先在夜神打开微博,在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()