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()

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM