App的爬虫----Appium的使用

先将Appium的config配置好,再启用  

依次将这些数据填写

 

 

 

 

 

 

命令行输入adb shell

然后进入linux底层命令行 输入 logcat | grep cmp=

 

 

然后打开模拟器里的app,然后命令行就会出现运行的app状态。

 

 

这两个为appPackage和appActivity

 

多台设备同时使用时服务端需要设置port和bootstrapPort都不一样

 

 

客户端设置:

"udid":"127.0.0.1:62025", #为客户端设置udid

 

 

 

 

 

#appium
import time
from appium import webdriver
#用来等待元素控件
from selenium.webdriver.support.ui import WebDriverWait

cap = {
  "platformName": "Android",
  "platformVersion": "5.1.1",
  "deviceName": "127.0.0.1:62025",
  "udid":"127.0.0.1:62025", #为客户端设置udid
  "appPackage": "com.ss.android.ugc.aweme",
  "appActivity": "com.ss.android.ugc.aweme.splash.SplashActivity",
  "noReset": True,
  "unicodekeyboard":True, #允许输入中文
  "resetkeyboard":True, #项目结束还原输入法
}

driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',cap)

#获取屏幕大小
def get_size():
    x = driver.get_window_size()['width']
    y = driver.get_window_size()['height']
    return (x,y)

#点击搜索
try:
    if WebDriverWait(driver,10).until(lambda x:x.find_element_by_id('com.ss.android.ugc.aweme:id/bhh')):
        driver.find_element_by_id('com.ss.android.ugc.aweme:id/bhh').click()

except:
    pass

#定位搜索框
if WebDriverWait(driver,10).until(lambda x:x.find_element_by_xpath('//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.EditText[1]')):
    driver.find_element_by_xpath('//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.EditText[1]').click()
    driver.find_element_by_id('com.ss.android.ugc.aweme:id/ge').send_keys('191433445')
    while driver.find_element_by_id('com.ss.android.ugc.aweme:id/ge').text != '191433445':
        driver.find_element_by_id('com.ss.android.ugc.aweme:id/ge').send_keys('191433445')
        time.sleep(0.2)

#点击搜索
driver.find_element_by_id('com.ss.android.ugc.aweme:id/gg').click()

#选择用户标签
if WebDriverWait(driver,10).until(lambda x:x.find_element_by_xpath('//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[2]/android.view.View[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.HorizontalScrollView[1]/android.widget.LinearLayout[1]/android.support.v7.app.ActionBar$Tab[3]/android.widget.TextView[1]')):
    driver.find_element_by_xpath('//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[2]/android.view.View[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.HorizontalScrollView[1]/android.widget.LinearLayout[1]/android.support.v7.app.ActionBar$Tab[3]/android.widget.TextView[1]').click()

  

posted @ 2020-01-03 14:41  King~~~  阅读(739)  评论(0编辑  收藏  举报