移動(dòng)端爬蟲(chóng)--單設(shè)備自動(dòng)化(二)

文集 移動(dòng)端網(wǎng)頁(yè)端爬蟲(chóng)

單設(shè)備自動(dòng)化

  • 準(zhǔn)備

    假設(shè)軟件環(huán)境都已配置

    一臺(tái)android虛擬機(jī)忿偷, 我的是夜神端口是62025

  • 啟動(dòng)

    1. 連接設(shè)備

      [圖片上傳失敗...(image-cd54b7-1532398731012)]

    2. 運(yùn)行appium材蛛,默認(rèn)啟動(dòng)4723端口

    image

    [圖片上傳失敗...(image-72a668-1532398731012)]

    備注:

    ? 1) 設(shè)備提前裝好app, appActivity和appPackage的值下面介紹

    ? 2)deviceName: 如果是真機(jī)走哺,填設(shè)備的型號(hào)(如我的華為暢享7: SLA-LA00)

    1. 審查元素

      [圖片上傳失敗...(image-cc0a5d-1532398731012)]

      上圖已經(jīng)標(biāo)記出了appPackage蚯嫌,至于appActivity指的是android app的入口activity組件,默認(rèn)是MainActivity丙躏,可以通過(guò)反編譯工(AndroidKiller)具查看择示。

    2. capability設(shè)置

      {
        "platformName": "Android",
        "automationName": "Appium",
        "platformVersion": "5.1.1",
        "appPackage": "com.ss.android.ugc.aweme",
        "appActivity": "com.ss.android.ugc.aweme.main.MainActivity",
        "noReset": "True",
        "deviceName": "Emulator"
      }
      

到此appium操控app成功。下面給出一段代碼晒旅,使用python操控

# -*- coding: utf-8 -*-
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from appium.webdriver.common.touch_action import TouchAction


# the emulator is sometimes slow and needs time to think
SLEEPY_TIME = 1

desired_caps = {
  "platformName": "Android",
  "automationName": "Appium",
  "platformVersion": "5.1.1",
  "appPackage": "com.ss.android.ugc.aweme",
  "appActivity": "com.ss.android.ugc.aweme.main.MainActivity",
  "noReset": "True",
  "deviceName": "Emulator"
}
class App(object):

    def __init__(self):
        self.driver = webdriver.Remote('http://%s:%d/wd/hub' % ('127.0.0.1', 4723), desired_caps)
        self.wait = WebDriverWait(self.driver, 30)
        # {'width':w, 'height':h}
        self.window = self.driver.get_window_size()

    def set_up(self):
        id = self.driver.session_id
        print(id)

    def tear_down(self):
        self.driver.quit()

    def wait_element_clickable(self, locator):
        return self.wait.until(
            EC.element_to_be_clickable(locator)
        )

    def back(self):
        self.driver.back()

    def center(self, left_top, right_bottom):
        x = (left_top[0] + right_bottom[0]) / 2
        y = (left_top[1] + right_bottom[1]) / 2
        return x, y

    def click_by_xy(self, left_top, right_bottom):
        location = self.center(left_top, right_bottom)
        self.driver.tap([location], 200)

    def swip(self, x1, y1, x2, y2, duration=None):
        action = TouchAction(self.driver)
        action.press(x=x1, y=y1) \
            .wait(300) \
            .move_to(x=x2, y=y2) \
            .release() \
            .perform()

    def app_is_installed(self, app_package):
        self.driver.is_app_installed(app_package)

    @property
    def page_source(self):
        return self.driver.page_source

    def quit(self):
        self.driver.quit()


if '__main__' == __name__:
    t = App()

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末辱揭,一起剝皮案震驚了整個(gè)濱河市挺庞,隨后出現(xiàn)的幾起案子箱沦,更是在濱河造成了極大的恐慌抚岗,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鱼鼓,死亡現(xiàn)場(chǎng)離奇詭異拟烫,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)迄本,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門(mén)硕淑,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事置媳∮谡粒” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵拇囊,是天一觀(guān)的道長(zhǎng)隔披。 經(jīng)常有香客問(wèn)我,道長(zhǎng)寂拆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任抓韩,我火速辦了婚禮纠永,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘谒拴。我一直安慰自己尝江,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布英上。 她就那樣靜靜地躺著炭序,像睡著了一般。 火紅的嫁衣襯著肌膚如雪苍日。 梳的紋絲不亂的頭發(fā)上惭聂,一...
    開(kāi)封第一講書(shū)人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音相恃,去河邊找鬼辜纲。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拦耐,可吹牛的內(nèi)容都是我干的耕腾。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼杀糯,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼扫俺!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起固翰,我...
    開(kāi)封第一講書(shū)人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤狼纬,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后倦挂,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體畸颅,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年方援,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了没炒。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖送火,靈堂內(nèi)的尸體忽然破棺而出拳话,到底是詐尸還是另有隱情,我是刑警寧澤种吸,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布弃衍,位于F島的核電站,受9級(jí)特大地震影響坚俗,放射性物質(zhì)發(fā)生泄漏镜盯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一猖败、第九天 我趴在偏房一處隱蔽的房頂上張望速缆。 院中可真熱鬧,春花似錦恩闻、人聲如沸艺糜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)破停。三九已至,卻和暖如春尉剩,著一層夾襖步出監(jiān)牢的瞬間真慢,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工边涕, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留晤碘,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓功蜓,卻偏偏與公主長(zhǎng)得像园爷,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子式撼,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容