Пример #1
0
def loginApp(driver, buyCodePath):
    typePath = '/hierarchy/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button[2]'
    if isExist(driver, 2, typePath):
        driver.find_element_by_xpath(typePath).click()
        sleep(1)
        pwdPath = '/hierarchy/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout[1]/android.widget.EditText'
        driver.find_element_by_xpath(pwdPath).click()
        sleep(1)
        pwd = getPwd('fangDe')['logInPwd']
        getKeyCode(driver, pwd)
        sleep(1)
        loginPath = '/hierarchy/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button'
        driver.find_element_by_xpath(loginPath).click()
        sleep(1)
        agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button[2]'
        driver.find_element_by_xpath(agreePath).click()
        sleep(1)
        driver.find_element_by_xpath(buyCodePath).click()
        sleep(1)
    tradePwdPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.EditText'
    if isExist(driver, 2, tradePwdPath):
        driver.find_element_by_xpath(tradePwdPath).click()
        sleep(1)
        pwd = getPwd('fangDe')['tradePwd']
        getKeyCode(driver, pwd)
        sleep(1)
        loginPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.Button'
        driver.find_element_by_xpath(loginPath).click()
        sleep(1)
Пример #2
0
def loginYingLi(driver):
    cancelId = 'com.yxzq.stock:id/iv_close'
    cancelIdNext = 'com.yxzq.stock:id/ic_close'
    if isExist(driver, 4, cancelId):
        driver.find_element_by_id(cancelId).click()
        sleep(1)
    if isExist(driver, 4, cancelIdNext):
        driver.find_element_by_id(cancelIdNext).click()
        sleep(1)
Пример #3
0
def openZhangeLe(driver):
   closePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.ImageView'
   if isExist(driver, 2,closePath):
      driver.find_element_by_xpath(closePath).click()
      sleep(1)
   
   if isExist(driver, 4,'com.lphtsccft.zlqqt2:id/pending_open'):
       driver.find_element_by_id('com.lphtsccft.zlqqt2:id/pending_open').click()
       sleep(1)
   
   if isExist(driver, 4,'com.lphtsccft.zlqqt2:id/ipo_dialog_close'):
       driver.find_element_by_id('com.lphtsccft.zlqqt2:id/pending_open').click()
       sleep(1)
Пример #4
0
def buyFuYuan(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.sunline.android.sunline'
    settingData['appActivity'] = '.DefaultAlias'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(5)
    if isExist(driver, 4, 'com.sunline.android.sunline:id/cancel'):
        driver.find_element_by_id(
            'com.sunline.android.sunline:id/cancel').click()
        sleep(1)
    tipPath = 'new UiSelector().text("我知道了")'
    if isExist(driver, 1, tipPath):
        driver.find_element_by_android_uiautomator(tipPath).click()
        sleep(1)

    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("交易")').click()
    sleep(2)
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("新股认购")').click()
    sleep(1)
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("可认购")').click()
    sleep(1)
    # contentPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout[2]/android.support.v4.view.ViewPager/android.widget.ScrollView/android.widget.ViewSwitcher/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout'
    # contentView = driver.find_element_by_xpath(contentPath)
    titlePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout[2]/android.support.v4.view.ViewPager/android.widget.ScrollView/android.widget.ViewSwitcher/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.TextView[2]'
    title = driver.find_element_by_xpath(titlePath).text
    if code in title:
        buyPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.view.ViewGroup/android.view.ViewGroup/android.widget.LinearLayout[2]/android.support.v4.view.ViewPager/android.widget.ScrollView/android.widget.ViewSwitcher/android.widget.RelativeLayout/android.support.v7.widget.RecyclerView/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.Button'
        driver.find_element_by_xpath(buyPath).click()
        sleep(1)
    pwd = getPwd('fuYuan')['tradePwd']
    getKeyCode(driver, pwd)
    confirmId = 'com.sunline.android.sunline:id/btn_purchase'
    end = driver.find_element_by_id(confirmId).text
    print(end)

    sleep(20)
    driver.quit()
Пример #5
0
def getZhangeLeProperty(param):
   settingIndex = param['setIndex']
   settingData = getSetting(settingIndex)
   settingData['appPackage'] = 'com.lphtsccft.zlqqt2'
   settingData['appActivity'] = 'com.lphtsccft.zhangle.startup.SplashScreenActivity'
   desired_caps = settingData
   driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
   driver.close_app();            
   sleep(3)
   driver.launch_app(); 
   sleep(10)
   openZhangeLe(driver)
   driver.find_element_by_id('com.lphtsccft.zlqqt2:id/main_account').click()
   sleep(2)
   
   propertyPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.View/android.view.View/android.view.View/android.view.View[1]/android.widget.ScrollView/android.view.View/android.view.View/android.view.View/android.view.View[1]/android.view.View[5]'
   if isExist(driver, 2, propertyPath):
      driver.find_element_by_xpath(propertyPath).click()
      sleep(1)
      pwd = getPwd('zhangLe')['tradePwd']
      pwdId = 'com.lphtsccft.zlqqt2:id/login_et_password'
      driver.find_element_by_id(pwdId).send_keys(pwd)
      driver.find_element_by_id('com.lphtsccft.zlqqt2:id/login_btn_login_account').click()
   
   sleep(10)
Пример #6
0
def loginApp(driver, *others):
    pwdPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.LinearLayout/android.widget.EditText'
    if isExist(driver, 2, pwdPath):
        driver.find_element_by_xpath(pwdPath).click()
        sleep(1)
        pwd = getPwd('ruiFeng')['logInPwd']
        getKeyCode(driver, pwd)
        sleep(1)
        confirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.Button'
        driver.find_element_by_xpath(confirmPath).click()
        sleep(2)
    if others:
        lastPath = others[0]
        if isExist(driver, 2, lastPath):
            driver.find_element_by_xpath(lastPath).click()
            sleep(1)
Пример #7
0
def getFuTuProperty(param):
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'cn.futu.trader'
    settingData['appActivity'] = '.launch.activity.LaunchActivity'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(5)
    closeId = 'cn.futu.trader:id/close_popup_ad_view'
    if isExist(driver, 4, closeId):
        driver.find_element_by_id(closeId).click()
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("今日盈亏")').click()
    sleep(1)
    allPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout[2]/android.widget.TextView'
    allNum = driver.find_element_by_xpath(allPath).text
    availablePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout[2]/android.widget.TextView'
    availableNum = driver.find_element_by_xpath(availablePath).text
    param = {
        'method': 0,
        'tableName': 'fuTu0',
        'allNum': allNum,
        'availableNum': availableNum,
    }
    initMysql(param)
    driver.quit()
Пример #8
0
def getTigerProperty(param):
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.tigerbrokers.stock'
    settingData['appActivity'] = '.ui.StartupActivity'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(5)
    loginTiger(driver)
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("交易")').click()
    sleep(2)
    if isExist(driver, 4, 'com.tigerbrokers.stock:id/btn_cancel'):
        driver.find_element_by_id(
            'com.tigerbrokers.stock:id/btn_cancel').click()
        sleep(1)

    allId = 'com.tigerbrokers.stock:id/text_asset_total'
    allNum = str(
        float('%.2f' %
              (float(driver.find_element_by_id(allId).text.replace(',', '')) *
               7.7)))
    availableId = 'com.tigerbrokers.stock:id/text_assets_value_left'
    availableNum = driver.find_element_by_id(availableId).text
    param = {
        'method': 0,
        'tableName': 'tiger0',
        'allNum': allNum,
        'availableNum': availableNum,
    }
    initMysql(param)
    driver.quit()
Пример #9
0
def getfuYuanProperty(param):
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.sunline.android.sunline'
    settingData['appActivity'] = '.DefaultAlias'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(5)
    if isExist(driver, 4, 'com.sunline.android.sunline:id/cancel'):
        driver.find_element_by_id(
            'com.sunline.android.sunline:id/cancel').click()
        sleep(1)

    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("交易")').click()
    sleep(2)
    allPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.view.ViewGroup/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout[1]/android.widget.RelativeLayout/android.widget.TextView'
    allNum = driver.find_element_by_xpath(allPath).text
    availablePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.view.ViewGroup/android.widget.ScrollView/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout[1]/android.widget.LinearLayout[2]/android.widget.TextView[2]'
    availableNum = numFromStr(driver.find_element_by_xpath(availablePath).text)
    param = {
        'method': 0,
        'tableName': 'fuYuan0',
        'allNum': allNum,
        'availableNum': availableNum,
    }
    initMysql(param)
    driver.quit()
Пример #10
0
def operateZhaoShang(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.cmschina.stock'
    settingData['appActivity'] = '.InitActivity'
    desired_caps = settingData

    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(5)
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("交易")').click()
    sleep(1)
    logPath = 'new UiSelector().text("登录查看")'
    if isExist(driver, 1, logPath):
        driver.find_element_by_android_uiautomator(logPath).click()
        sleep(3)
        print(driver.page_source)
        print(driver.contexts)
        pwdPatha = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.ScrollView/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.EditText'
        driver.find_element_by_xpath(pwdPatha).send_keys(1)
Пример #11
0
def loginDongCai(driver):
    if isExist(driver, 4, 'com.eastmoney.android.lead:id/riv_card'):
        driver.find_element_by_id(
            'com.eastmoney.android.lead:id/riv_card').click()
        sleep(1)
        driver.find_element_by_android_uiautomator(
            'new UiSelector().text("关闭")').click()
        sleep(1)
Пример #12
0
def loginZhangeLe(driver):
   pwd = getPwd('zhangLe')['tradePwd']
   pwdId = 'com.lphtsccft.zlqqt2:id/login_et_password'
   if isExist(driver, 4, pwdId):
      driver.find_element_by_id(pwdId).send_keys(pwd)
      driver.find_element_by_id('com.lphtsccft.zlqqt2:id/login_btn_login_account').click()

       
Пример #13
0
def buyTiger(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.tigerbrokers.stock'
    settingData['appActivity'] = '.ui.StartupActivity'
    desired_caps = settingData
    # desired_caps = {
    #     'platformName':'Android',
    #     'platformVersion':'10',
    #     'deviceName':'2214c691',
    #     'appPackage':'com.tigerbrokers.stock',
    #     'noReset':True,
    #     'appActivity':'.ui.StartupActivity',
    # }
    driver = webdriver.Remote('http://*****:*****@text,"(' + code + '.HK)")]/parent::*/following-sibling::android.widget.LinearLayout[1]/android.widget.RelativeLayout/android.widget.TextView'
    # driver.find_element_by_xpath(buyPath).click()
    # sleep(1)
    # if not isCash:
    #     driver.find_element_by_id('com.juniorchina.jcstock:id/iv_margin').click()

    # numPath = 'new UiSelector().textContains("%d")'%(stockNum)
    # driver.find_element_by_android_uiautomator(numPath).click()
    # sleep(1)
    driver.quit()
Пример #14
0
def buyDongCai(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.eastmoney.android.lead'
    settingData['appActivity'] = 'com.eastmoney.android.berlin.activity.MainActivity'
    desired_caps = settingData
    # desired_caps = {
    #     'platformName':'Android',
    #     'platformVersion':'10',
    #     'deviceName':'2214c691',
    #     'appPackage':'com.eastmoney.android.lead',
    #     'noReset':True,
    #     'appActivity':'com.eastmoney.android.berlin.activity.MainActivity',
    # }
    driver = webdriver.Remote('http://*****:*****@text, "认购中")]').click()
    sleep(1)
    # if isExist(driver,'com.tigerbrokers.stock:id/btn_cancel') :
    #     driver.find_element_by_id('com.tigerbrokers.stock:id/btn_cancel').click()
    #     sleep(1)
    # driver.find_element_by_android_uiautomator('new UiSelector().text("IPO")').click()
    # sleep(1)
    # driver.find_element_by_android_uiautomator('new UiSelector().text("港股")').click()
    # sleep(1)

    # buyPath='//android.widget.TextView[contains(@text,"(' + code + '.HK)")]/parent::*/following-sibling::android.widget.LinearLayout[1]/android.widget.RelativeLayout/android.widget.TextView'
    # driver.find_element_by_xpath(buyPath).click()
    # sleep(1)
    # if not isCash:
    #     driver.find_element_by_id('com.juniorchina.jcstock:id/iv_margin').click()

    # numPath = 'new UiSelector().textContains("%d")'%(stockNum)
    # driver.find_element_by_android_uiautomator(numPath).click()
    # sleep(1)
    driver.quit()
Пример #15
0
def getHuaShengTongProperty(param):
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.huasheng.stock'
    settingData['appActivity'] = 'com.hstong.app.launch.ui.Loading'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(6)
    if isExist(driver, 4, 'com.huasheng.stock:id/button_cancel'):
        driver.find_element_by_id(
            'com.huasheng.stock:id/button_cancel').click()
    if isExist(driver, 4, 'com.huasheng.stock:id/btn_close'):
        driver.find_element_by_id('com.huasheng.stock:id/btn_close').click()
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("交易")').click()
    sleep(1)
    if isExist(driver, 3, 'android.widget.EditText'):
        pwd = getPwd('huaShengTong')['tradePwd']
        driver.find_element_by_class_name('android.widget.EditText').send_keys(
            pwd)
        driver.find_element_by_id('com.huasheng.stock:id/btn_login').click()
        sleep(5)
    allPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.view.ViewGroup/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.TextView[2]'
    allNum = driver.find_element_by_xpath(allPath).text
    availablePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.view.ViewGroup/android.widget.LinearLayout/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout/android.widget.FrameLayout[1]/android.view.ViewGroup/android.widget.LinearLayout[2]/android.widget.TextView[2]'
    availableNum = driver.find_element_by_xpath(availablePath).text
    param = {
        'method': 0,
        'tableName': 'huaShengTong0',
        'allNum': allNum,
        'availableNum': availableNum,
    }
    initMysql(param)
    driver.quit()
    print(allNum)
    print(availableNum)
Пример #16
0
def tradeFuTu(param):
    driver = initFuTu(param)
    searchPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout[1]/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.support.v7.widget.LinearLayoutCompat/android.widget.FrameLayout[2]/android.widget.ImageView'
    if not isExist(driver, 2, searchPath):
        searchPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.support.v7.widget.LinearLayoutCompat/android.widget.FrameLayout[1]/android.widget.ImageView'
    driver.find_element_by_xpath(searchPath).click()
    sleep(1)
    code = param['code']
    getKeyCode(driver, code)
    sleep(4)
    recordFlag = True
    while recordFlag:
        stockPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[2]/android.widget.FrameLayout/android.view.ViewGroup/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.view.ViewGroup/android.support.v7.widget.RecyclerView/android.view.ViewGroup'
        driver.find_element_by_xpath(stockPath).click()
        sleep(1)
        recordFlag = recordPrice(driver, param)
    sleep(10)
Пример #17
0
def buyFuYuan(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.sunline.android.sunline'
    settingData['appActivity'] = '.DefaultAlias'
    desired_caps = settingData
    # desired_caps = {
    #     'platformName':'Android',
    #     'platformVersion':'10',
    #     'deviceName':'2214c691',
    #     'appPackage':'com.sunline.android.sunline',
    #     'noReset':True,
    #     'appActivity':'.DefaultAlias',
    #     'automationName':'uiautomator2'
    # }
    driver = webdriver.Remote('http://*****:*****@text,"(' + code + '.HK)")]/parent::*/following-sibling::android.widget.LinearLayout[1]/android.widget.RelativeLayout/android.widget.TextView'
    # driver.find_element_by_xpath(buyPath).click()
    # sleep(1)
    # if not isCash:
    #     driver.find_element_by_id('com.juniorchina.jcstock:id/iv_margin').click()

    # numPath = 'new UiSelector().textContains("%d")'%(stockNum)
    # driver.find_element_by_android_uiautomator(numPath).click()
    # sleep(1)
    driver.quit()
Пример #18
0
def buyAiDe(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'io.newtype.eddid.app'
    settingData['appActivity'] = 'com.eddid.home.ui.activity.LauncherActivity'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app();            
    sleep(3)
    driver.launch_app(); 
    sleep(6)
    tipId = 'io.newtype.eddid.app:id/tv_notice_dialog_no_reminder'
    if isExist(driver, 4, tipId):
        driver.find_element_by_id(tipId).click()
        sleep(1)
    driver.find_element_by_android_uiautomator('new UiSelector().text("新股中心")').click()
    sleep(5)
    contentPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[9]/android.view.View/android.view.View/android.view.View[1]/android.view.View/android.view.View'
    contentView = driver.find_elements_by_xpath(contentPath)
    contentLen = len(contentView) -2
    for i in range(contentLen):
        index = str(i + 2)
        titlePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[9]/android.view.View/android.view.View/android.view.View[1]/android.view.View/android.view.View[' + index +']/android.view.View[1]'
        itemTitle = driver.find_element_by_xpath(titlePath).text
        if code in itemTitle:
            buyPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[9]/android.view.View/android.view.View/android.view.View[1]/android.view.View/android.view.View[' + index +']/android.view.View[2]'
            driver.find_element_by_xpath(buyPath).click()
            sleep(2)
    confirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View/android.view.View[6]/android.widget.Button'
    confirmBtn = driver.find_element_by_xpath(confirmPath).text
    print(confirmBtn)
    
    sleep(5)
    driver.quit()
Пример #19
0
def initApp(driver):
    closePath = '//android.widget.Button[@content-desc="closeImage"]'
    if isExist(driver, 2, closePath):
        driver.find_element_by_xpath(closePath).click()
        sleep(1)
Пример #20
0
def initApp(driver):
    closePath = '(//android.widget.ImageView[@content-desc="方德港美股"])[2]'
    if isExist(driver, 2, closePath):
        driver.find_element_by_xpath(closePath).click()
        sleep(1)
Пример #21
0
def buyZunJia(param):
    code = param['code']
    isCash = param['isCash']
    stockNum = param['num']
    # stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.juniorchina.jcstock'
    settingData['appActivity'] = '.SplashActivity'
    desired_caps = settingData

    # desired_caps = {
    #     'platformName':'Android',
    #     'platformVersion':'10',
    #     'deviceName':'2214c691',
    #     'appPackage':'com.juniorchina.jcstock',
    #     'noReset':True,
    #     'appActivity':'.SplashActivity',
    #     # 'newCommandTimeout':0,
    #     'automationName':'uiautomator2'
    # }

    driver = webdriver.Remote('http://*****:*****@text,"(' + code + '.HK)")]/parent::*/following-sibling::android.widget.LinearLayout[1]/android.widget.RelativeLayout/android.widget.TextView'
    if isExist(driver, 2, buyPath):
        driver.find_element_by_xpath(buyPath).click()
        sleep(1)
        if not isCash:
            driver.find_element_by_id(
                'com.juniorchina.jcstock:id/iv_margin').click()
            sleep(1)
        if isCashAll or isFinancingAll:
            maxPath = '//android.widget.TextView[@text="可用资金不足"]/parent::*/parent::*/preceding-sibling::android.widget.LinearLayout[1]/android.widget.LinearLayout/android.widget.TextView'
            maxExistPath = '//*[@text="可用资金不足"]'
            while not isExist(driver, 2, maxExistPath):
                driver.swipe(200, 500, 200, 100, 300)
            maxView = driver.find_element_by_xpath(maxPath)
            maxNum = maxView.text
            maxView.click()
        else:
            numPath = 'new UiSelector().textContains("%d")' % (stockNum)
            if isExist(driver, 1, numPath):
                driver.find_element_by_android_uiautomator(numPath).click()
                sleep(1)
        driver.find_element_by_id('com.juniorchina.jcstock:id/tv_ok').click()
        # driver.find_element_by_id('com.juniorchina.jcstock:id/tv_cancel').click()
    pwd = getPwd('zunJia')['tradePwd']
    driver.find_element_by_id(
        'com.juniorchina.jcstock:id/et_password').send_keys(pwd)
    driver.find_element_by_id(
        'com.juniorchina.jcstock:id/layout_commit').click()

    sleep(3)
    driver.quit()
Пример #22
0
def buyDongCai(param):
    code = param['code']
    isCash = param['isCash']
    stockNum = param['num']
    # stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.eastmoney.android.lead'
    settingData[
        'appActivity'] = 'com.eastmoney.android.berlin.activity.MainActivity'
    desired_caps = settingData
    driver = webdriver.Remote('http://*****:*****@text, "认购中")]').click()
    sleep(1)
    codeText = 'new UiSelector().text("' + code + '")'
    codeParentView = driver.find_element_by_android_uiautomator(
        codeText).parent
    codeParentView.find_element_by_android_uiautomator(
        'new UiSelector().text("认购")').click()
    sleep(1)
    pwd = getPwd('dongCai')['tradePwd']
    print(pwd)
    getKeyCode(driver, pwd)
    sleep(3)
    if isCash:
        cashText = 'new UiSelector().text("现金")'
        driver.find_element_by_android_uiautomator(cashText).click()
    amountChooseUi = 'new UiSelector().text("请选择认购股数")'
    driver.find_element_by_android_uiautomator(amountChooseUi).click()
    sleep(1)

    amountFlag = True
    amountCheckIndex = ''
    while amountFlag:
        amountViewPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup'
        amountView = driver.find_elements_by_xpath(amountViewPath)
        amountLen = len(amountView) - 1
        print(amountLen)
        for i in range(amountLen):
            index = str(i + 1)
            print(index)
            if isCashAll:
                amountOutText = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[' + index + ']/android.view.ViewGroup/android.widget.TextView[2]'
                if isExist(driver, 2, amountOutText):
                    amountFlag = False
                    amountCheckIndex = str(i)
                    break
            elif isCash:
                amountTextPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[' + index + ']/android.view.ViewGroup/android.widget.TextView'
                amountText = driver.find_element_by_xpath(amountTextPath).text
                if stockNum in amountText:
                    amountFlag = False
                    amountCheckIndex = str(i + 1)
                    break
            elif isFinancingAll:
                testUi = 'new UiSelector().textContains("不足")'
                if isExist(amountView[i], 1, testUi):
                    test = amountView[i].find_element_by_android_uiautomator(
                        'new UiSelector().textContains("不足")').text
                    print(test)
                    amountFlag = False
                    amountCheckIndex = str(i)
                    break
            else:
                amountTextPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[' + index + ']/android.view.ViewGroup/android.widget.TextView'
                amountText = driver.find_element_by_xpath(amountTextPath).text
                if stockNum in amountText:
                    amountFlag = False
                    amountCheckIndex = str(i + 1)
                    break

        if amountFlag:
            driver.swipe(200, 1760, 200, 1610, 300)
            sleep(1)
    amountCheckPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup[2]/android.view.ViewGroup/android.widget.ScrollView/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[' + amountCheckIndex + ']/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup'
    print(amountCheckPath)
    driver.find_element_by_xpath(amountCheckPath).click()
    sleep(1)
    agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[1]/android.view.ViewGroup/android.view.ViewGroup[1]'
    driver.find_element_by_xpath(agreePath).click()
    sleep(1)
    confirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup/android.view.ViewGroup[2]/android.widget.TextView'
    driver.find_element_by_xpath(confirmPath).click()
    sleep(1)
    submitUi = 'new UiSelector().textContains("确认认购")'
    driver.find_element_by_android_uiautomator(submitUi).click()
    sleep(1)
    pwd = getPwd('dongCai')['tradePwd']
    print(pwd)
    getKeyCode(driver, pwd)
    sleep(1)
    endUi = 'new UiSelector().text("确认")'
    if isExist(driver, 1, endUi):
        driver.find_element_by_android_uiautomator(endUi).click()
    sleep(3)
    driver.quit()
Пример #23
0
def loginTiger(driver):
    if isExist(driver, 4, 'com.tigerbrokers.stock:id/btn_cancel'):
        driver.find_element_by_id(
            'com.tigerbrokers.stock:id/btn_cancel').click()
        sleep(1)
Пример #24
0
def buyHuaShengTong(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.huasheng.stock'
    settingData['appActivity'] = 'com.hstong.app.launch.ui.Loading'
    desired_caps = settingData

    # desired_caps = {
    #     'platformName':'Android',
    #     'platformVersion':'10',
    #     'deviceName':'2214c691',
    #     'appPackage':'com.huasheng.stock',
    #     'noReset':True,
    #     'appActivity':'com.hstong.app.launch.ui.Loading',
    # }
    driver = webdriver.Remote('http://*****:*****@text, "' + code + '")]'
    codePath = '//android.widget.TextView[contains(@text, "' + code + '")]/parent::*/parent::*/parent::*/following-sibling::android.widget.LinearLayout[4]/android.widget.TextView'
    if isExist(driver, 2, codeExitPath):
        codeBtn = driver.find_element_by_xpath(codePath)
        codeBtn.click()
        sleep(8)
    print(driver.page_source)

    if not isCash:

        financingPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/com.tencent.tbs.core.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View[2]/android.widget.ListView[1]/android.view.View[2]'
        driver.find_element_by_xpath(financingPath).click()
        sleep(1)

    choosePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/com.tencent.tbs.core.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View/android.view.View[2]/android.view.View[2]'
    driver.find_element_by_xpath(choosePath).click()
    sleep(1)
    maxExistPath = '//android.view.View[contains(@text, "存入资金")]'
    if isCashAll or isFinancingAll:
        while not isExist(driver, 2, maxExistPath):
            driver.swipe(200, 1600, 200, 1300, 300)
        maxPath = '//android.view.View[contains(@text, "存入资金")]/parent::*/parent::*/preceding-sibling::android.view.View[1]/android.view.View'
        driver.find_element_by_xpath(maxPath).click()
        sleep(1)
    else:
        num = str(numFromStr(stockNumVal))
        numPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/com.tencent.tbs.core.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View[4]/android.view.View/android.widget.ListView[2]/android.view.View[' + num + ']/android.view.View[1]'
        driver.find_element_by_xpath(numPath).click()
        sleep(1)
    finishPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/com.tencent.tbs.core.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[2]/android.view.View[2]'
    driver.find_element_by_xpath(finishPath).click()
    sleep(2)
    agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/com.tencent.tbs.core.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[2]/android.view.View[1]/android.view.View/android.view.View[1]'
    agreeBox = driver.find_element_by_xpath(agreePath)
    agreeBox.click()
    confirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/com.tencent.tbs.core.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[2]/android.view.View[2]'
    driver.find_element_by_xpath(confirmPath).click()
    sleep(5)
    driver.quit()
Пример #25
0
def buyTiger(param):
    code = param['code']
    isCash = param['isCash']
    # stockNumVal = param['numVal']
    stockNum = param['num']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.tigerbrokers.stock'
    settingData['appActivity'] = '.ui.StartupActivity'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(5)
    loginTiger(driver)
    if isExist(driver, 4, 'com.tigerbrokers.stock:id/btn_cancel'):
        driver.find_element_by_id(
            'com.tigerbrokers.stock:id/btn_cancel').click()
        sleep(1)
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("交易")').click()
    sleep(2)
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("IPO")').click()
    sleep(3)
    print(driver.page_source)
    hkStockPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[2]/android.view.View[2]'
    driver.find_element_by_xpath(hkStockPath).click()
    sleep(1)
    contentPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[9]/android.view.View'
    contentView = driver.find_elements_by_xpath(contentPath)
    contentLen = len(contentView)
    for i in range(contentLen):
        if contentLen > 0:
            index = '[' + str(i + 1) + ']'
        else:
            index = ''
        titlePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[9]/android.view.View' + index + '/android.view.View[1]/android.widget.TextView[2]'
        titlePathNext = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[9]/android.view.View' + index + '/android.view.View[1]'
        if isExist(driver, 2, titlePath):
            itemTitle = driver.find_element_by_xpath(titlePath).text
        else:
            itemTitle = driver.find_element_by_xpath(titlePathNext).text
        if code in itemTitle:
            buyPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[9]/android.view.View' + index + '/android.view.View[9]/android.widget.Button[2]'
            driver.find_element_by_xpath(buyPath).click()
            sleep(2)
    immediatePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[20]/android.widget.Button'
    driver.find_element_by_xpath(immediatePath).click()
    sleep(2)
    if isCash:
        typePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[6]'
        driver.find_element_by_xpath(typePath).click()
        sleep(1)
        typeValPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[2]/android.view.View/android.view.View[1]/android.view.View[2]'
        typeVal = driver.find_element_by_xpath(typeValPath).text
        typeIndex = -1
        if '现金' in typeVal:
            typeIndex = str(1)
        else:
            typeIndex = str(2)
        typeChoosePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[2]/android.view.View/android.view.View[' + typeIndex + ']/android.view.View[1]/android.view.View'
        driver.find_element_by_xpath(typeChoosePath).click()
        sleep(1)
        typeConfirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[2]/android.widget.Button'
        driver.find_element_by_xpath(typeConfirmPath).click()
        sleep(1)
        amountChoosePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View[10]'
        driver.find_element_by_xpath(amountChoosePath).click()
        sleep(1)

        amountFlag = True
        while amountFlag:
            amountViewPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[3]/android.view.View'
            amountView = driver.find_elements_by_xpath(amountViewPath)
            amountViewLen = len(amountView) - 3
            for i in range(amountViewLen):
                amountIndex = str(i + 1)
                amountPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[3]/android.view.View[' + amountIndex + ']/android.view.View[1]'
                amountText = driver.find_element_by_xpath(amountPath).text
                if isCashAll:
                    if '最大' in amountText:
                        amountFlag = False

                else:
                    if stockNum in amountText:
                        amountFlag = False
                if not amountFlag:
                    amountCheckPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[3]/android.view.View[' + amountIndex + ']/android.view.View[3]/android.view.View/android.view.View/android.view.View'
                    driver.find_element_by_xpath(amountCheckPath).click()
                    sleep(1)
                    break
            if amountFlag:
                driver.swipe(200, 1760, 200, 1600, 300)
        amountConfirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.widget.Button'
        driver.find_element_by_xpath(amountConfirmPath).click()
        sleep(1)
        driver.swipe(200, 1760, 200, 1000, 300)
        confirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.Button'
        driver.find_element_by_xpath(confirmPath).click()
        sleep(1)
        agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[11]/android.widget.CheckBox'
        driver.find_element_by_xpath(agreePath).click()
        sleep(1)
        submitPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.widget.Button[2]'
        # driver.find_element_by_xpath(submitPath).click()
        test = driver.find_element_by_xpath(submitPath).text
        sleep(1)
    else:
        financePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[9]/android.view.View'
        driver.find_element_by_xpath(financePath).click()
        sleep(2)
        fifteenPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[2]/android.view.View/android.view.View[2]/android.view.View[1]/android.view.View'
        driver.find_element_by_xpath(fifteenPath).click()
        sleep(1)
        financeTypeConfirm = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[2]/android.widget.Button'
        driver.find_element_by_xpath(financeTypeConfirm).click()
        sleep(1)
        amountChoose = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View[13]/android.view.View'
        driver.find_element_by_xpath(amountChoose).click()
        sleep(1)
        amountFlag = True
        while (amountFlag):
            amountViewPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[3]/android.view.View'
            amountView = driver.find_elements_by_xpath(amountViewPath)
            amountLen = len(amountView) - 3
            print(amountLen)
            for i in range(amountLen):
                index = str(i + 1)
                amountPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[3]/android.view.View[' + index + ']/android.view.View[1]'
                amountText = driver.find_element_by_xpath(amountPath).text
                print(amountText)
                if '最大' in amountText:
                    amountFlag = False
                    amountCheckPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[3]/android.view.View[' + index + ']/android.view.View[3]/android.view.View/android.view.View/android.view.View'
                    driver.find_element_by_xpath(amountCheckPath).click()
                    sleep(1)
            if amountFlag:
                driver.swipe(200, 1760, 200, 1600, 300)
        amountConfirm = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.widget.Button'
        driver.find_element_by_xpath(amountConfirm).click()
        sleep(1)
        driver.swipe(200, 1760, 200, 1000, 300)
        confirmPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.widget.Button'
        driver.find_element_by_xpath(confirmPath).click()
        sleep(1)
        agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.view.View[12]/android.widget.CheckBox'
        driver.find_element_by_xpath(agreePath).click()
        sleep(1)
        submitPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.widget.Button[2]'
        driver.find_element_by_xpath(submitPath).click()
        sleep(1)
    stockPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.app.Dialog/android.view.View/android.view.View/android.widget.Button[2]'
    driver.find_element_by_xpath(stockPath).click()
    sleep(10)
    driver.quit()
Пример #26
0
def buyYaoCai(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    stockNum = param['num']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.brightsmart.android.etnet'
    settingData['appActivity'] = 'com.etnet.android.iq.Welcome'
    desired_caps = settingData
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    driver.close_app()
    sleep(3)
    driver.launch_app()
    sleep(5)
    tradePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RadioGroup/android.widget.RadioButton[5]'
    driver.find_element_by_xpath(tradePath).click()
    sleep(1)
    loginYaoCai(driver)
    ipoPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RadioGroup/android.widget.RadioButton[4]'
    driver.find_element_by_xpath(ipoPath).click()
    sleep(5)
    codeListPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View'
    codeListView = driver.find_elements_by_xpath(codeListPath)
    codeLen = len(codeListView)
    for i in range(codeLen):
        index = str(i + 1)
        codePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View[1]/android.view.View[' + index + ']/android.view.View[1]'
        codeText = driver.find_element_by_xpath(codePath).text
        print(codeText)
        print(code in codeText)
        if code in codeText:
            buyPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View[' + index + ']/android.view.View[4]/android.view.View[2]/android.view.View'
            driver.find_element_by_xpath(buyPath).click()
            sleep(4)
            break
    driver.swipe(200, 2100, 200, 1000, 300)
    sleep(1)
    agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[2]/android.view.View/android.view.View[11]/android.view.View/android.view.View/android.view.View[1]'
    driver.find_element_by_xpath(agreePath).click()
    sleep(4)
    print(driver.page_source)
    applyPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[3]/android.widget.GridView[1]/android.view.View[12]/android.view.View[1]/android.widget.Button'

    if not isCash:
        financePath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[3]/android.widget.GridView[1]/android.view.View[6]/android.view.View[2]/android.widget.RadioButton[2]'
        if isExist(driver, 2, financePath):
            driver.find_element_by_xpath(financePath).click()
            sleep(1)
            applyPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[3]/android.widget.GridView/android.view.View[16]/android.view.View[1]/android.widget.Button'
            amountFlagPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[3]/android.widget.GridView[1]/android.view.View[7]/android.view.View[2]/android.widget.Spinner'

    amountFlagPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[3]/android.widget.GridView[1]/android.view.View[7]/android.view.View[2]/android.widget.Spinner'
    if not isExist(driver, 2, amountFlagPath):
        amountFlagPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[3]/android.widget.GridView[1]/android.view.View[6]/android.view.View[2]/android.widget.Spinner'

    amountInitText = driver.find_element_by_xpath(amountFlagPath).text
    print(amountInitText)
    if not isFinancingAll:
        if amountInitText != stockNum:
            driver.find_element_by_xpath(amountFlagPath).click()
            sleep(1)
    print(applyPath)
    driver.find_element_by_xpath(applyPath).click()
    sleep(2)
    confimPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.support.v4.view.ViewPager/android.widget.FrameLayout/android.widget.ScrollView/android.webkit.WebView/android.webkit.WebView/android.view.View[3]/android.widget.GridView[2]/android.view.View/android.view.View[1]/android.widget.Button'
    # driver.find_element_by_xpath(confimPath).click()
    print(driver.find_element_by_xpath(confimPath).text)
    sleep(10)
Пример #27
0
def buyYiTaoJin(param):
    code = param['code']
    isCash = param['isCash']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'com.gfhkstore.android'
    settingData['appActivity'] = 'com.gf.gfglobal.HomeActivity'
    desired_caps = settingData
    driver = webdriver.Remote('http://*****:*****@content-desc="closeImage"]'
    if isExist(driver, 2, tipClosePath):
        driver.find_element_by_xpath(tipClosePath).click()
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("首页")').click()
    sleep(1)
    driver.find_element_by_android_uiautomator(
        'new UiSelector().text("新股申购")').click()
    sleep(1)

    # path = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.support.v4.widget.DrawerLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[2]/android.support.v4.view.ViewPager/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[3]'
    # driver.find_element_by_xpath(path).click()
    # sleep(1)
    # pwd = getPwd('dongFang')['tradePwd']
    # driver.find_elements_by_class_name('android.widget.EditText')[1].send_keys(pwd)
    # loginPath = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.support.v4.widget.DrawerLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout[7]/android.view.View'
    # driver.find_element_by_xpath(loginPath).click()
    # sleep(1)
    # agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[3]/android.widget.LinearLayout/android.view.View[2]'
    # driver.find_element_by_xpath(agreePath).click()
    # sleep(5)
    # driver.find_element_by_android_uiautomator('new UiSelector().text("新股申购")').click()
    # sleep(5)

    # driver.find_element_by_xpath('//*[contains(@text, "马上登录")]').click()
    # sleep(1)
    # driver.find_element_by_android_uiautomator('new UiSelector().text("新股中心")').click()
    # sleep(1)
    # driver.find_element_by_id('com.lphtsccft.zlqqt2:id/main_account').click()
    # sleep(1)
    # path = '/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.view.View/android.view.View/android.view.View/android.widget.ImageView[2]'
    # driver.find_element_by_xpath(path).click()
    # sleep(1)
    # driver.find_element_by_android_uiautomator('new UiSelector().text("打新股")').click()

    # driver.find_element_by_android_uiautomator('new UiSelector().text("新股认购")').click()
    # sleep(1)
    # driver.find_element_by_xpath('//android.widget.TextView[contains(@text, "认购中")]').click()
    # sleep(1)
    # if isExist(driver,'com.tigerbrokers.stock:id/btn_cancel') :
    #     driver.find_element_by_id('com.tigerbrokers.stock:id/btn_cancel').click()
    #     sleep(1)
    # driver.find_element_by_android_uiautomator('new UiSelector().text("IPO")').click()
    # sleep(1)
    # driver.find_element_by_android_uiautomator('new UiSelector().text("港股")').click()
    # sleep(1)

    # buyPath='//android.widget.TextView[contains(@text,"(' + code + '.HK)")]/parent::*/following-sibling::android.widget.LinearLayout[1]/android.widget.RelativeLayout/android.widget.TextView'
    # driver.find_element_by_xpath(buyPath).click()
    # sleep(1)
    # if not isCash:
    #     driver.find_element_by_id('com.juniorchina.jcstock:id/iv_margin').click()

    # numPath = 'new UiSelector().textContains("%d")'%(stockNum)
    # driver.find_element_by_android_uiautomator(numPath).click()
    sleep(10)
Пример #28
0
def buyFuTu(param):
    code = param['code']
    isCash = param['isCash']
    # stockNum = param['num']
    stockNumVal = param['numVal']
    isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'cn.futu.trader'
    settingData['appActivity'] = '.launch.activity.LaunchActivity'
    desired_caps = settingData
    driver = webdriver.Remote('http://*****:*****@text="' + code + '"]/parent::*/parent::*/following-sibling::android.widget.RelativeLayout/android.widget.TextView'
    if isExist(driver, 2, buyPath):
        driver.find_element_by_xpath(buyPath).click()
        sleep(4)
        print(driver.page_source)
        financeTimePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[3]/android.view.View[4]'
        financingPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[5]/android.view.View/android.view.View[5]/android.view.View'
        cashPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[4]/android.view.View/android.view.View[3]/android.view.View'
        cashNextPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[27]/android.view.View[4]/android.view.View/android.view.View[3]/android.view.View'
        financingNextPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[27]/android.view.View[5]/android.view.View/android.view.View[5]/android.view.View'
        tipPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[2]'
        nextFlag = False
        if isExist(driver, 2, cashNextPath):
            cashPath = cashNextPath
            financingPath = financingNextPath
            nextFlag = True
        if isExist(driver, 2, cashPath):
            if not isCash:
                if isExist(driver, 2, financingPath):
                    financingBtn = driver.find_element_by_xpath(financingPath)
                    financingBtn.click()
                    sleep(1)

            else:
                cashBtn = driver.find_element_by_xpath(cashPath)
                cashFlag = cashBtn.get_attribute('checked')
                if not cashFlag:
                    cashBtn.click()
                    sleep(1)

            if nextFlag:
                otherPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[22]'
            else:
                otherPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[21]'
            driver.find_element_by_xpath(otherPath).click()
            sleep(1)
            num = str(4 + 2 * numFromStr(stockNumVal))
            if isCashAll:
                if nextFlag:
                    cashAllPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[1]/android.view.View/android.view.View[4]/android.view.View[2]'
                else:
                    cashAllPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[25]/android.view.View[1]/android.view.View/android.view.View[4]/android.view.View[2]'
                driver.find_element_by_xpath(cashAllPath).click()
                sleep(1)
            elif isFinancingAll:
                if nextFlag:
                    finacingAllPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[1]/android.view.View/android.view.View[4]/android.view.View[3]'
                else:
                    finacingAllPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[25]/android.view.View[1]/android.view.View/android.view.View[4]/android.view.View[3]'
                driver.find_element_by_xpath(finacingAllPath).click()
                sleep(1)

            else:
                if nextFlag:
                    numPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[1]/android.view.View/android.view.View[3]/android.view.View[2]/android.view.View[' + num + ']/android.view.View[1]/android.widget.TextView'
                else:
                    numPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[25]/android.view.View[1]/android.view.View/android.view.View[3]/android.view.View[2]/android.view.View[' + num + ']/android.view.View[1]/android.widget.TextView'
                driver.find_element_by_xpath(numPath).click()
                sleep(1)

            nextStepPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[31]/android.view.View[2]/android.view.View[2]/android.view.View[5]'
            driver.find_element_by_xpath(nextStepPath).click()
            sleep(2)
            agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[34]/android.view.View[3]/android.view.View/android.view.View[1]'
            driver.find_element_by_xpath(agreePath).click()
            sleep(1)
            finishPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[35]/android.view.View[2]'
            # finishBtn = driver.find_element_by_xpath(finishPath)
            driver.find_element_by_xpath(finishPath).click()
            sleep(2)
            print(driver.page_source)
            pwd = getPwd('fuTu')['tradePwd']
            for i in pwd:
                index = i
                if i == '0':
                    index = 11
                pwdPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[35]/android.view.View[1]/android.view.View[2]/android.view.View/android.view.View/android.widget.ListView/android.view.View[' + index + ']'
                driver.find_element_by_xpath(pwdPath).click()
                sleep(1)

        elif isExist(driver, 2, financeTimePath):
            financingTime = driver.find_element_by_xpath(financeTimePath)
            text = financingTime.get_attribute('text')
            print(text)
    sleep(5)
    driver.quit()
Пример #29
0
def initApp(driver):
    changePwdPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.Button[1]'
    if isExist(driver, 2, changePwdPath):
        driver.find_element_by_xpath(changePwdPath).click()
Пример #30
0
def buyFuTu(param):
    code = param['code']
    isCash = param['isCash']
    # stockNum = param['num']
    stockNumVal = param['numVal']
    # isFinancingAll = param['isFinancingAll']
    isCashAll = param['isCashAll']
    settingIndex = param['setIndex']
    settingData = getSetting(settingIndex)
    settingData['appPackage'] = 'cn.futu.trader'
    settingData['appActivity'] = '.launch.activity.LaunchActivity'
    desired_caps = settingData
    # desired_caps = {
    #     'platformName':'Android',
    #     'platformVersion':'10',
    #     'deviceName':'2214c691',
    #     'appPackage':'cn.futu.trader',
    #     'noReset':True,
    #     'appActivity':'.launch.activity.LaunchActivity'
    # }
    driver = webdriver.Remote('http://*****:*****@text="' + code + '"]/parent::*/parent::*/following-sibling::android.widget.RelativeLayout/android.widget.TextView'
    if isExist(driver, 2, buyPath):
        driver.find_element_by_xpath(buyPath).click()
        sleep(4)
        print(driver.page_source)
        print(driver.contexts)
        financeTimePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[3]/android.view.View[4]'
        financingPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[5]/android.view.View/android.view.View[5]/android.view.View'
        cashPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[4]/android.view.View/android.view.View[3]/android.view.View'
        # financingDisablePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[26]/android.view.View[5]/android.view.View/android.view.View[4]/android.view.View'
        if isExist(driver, 2, cashPath):
            if not isCash:
                if isExist(driver, 2, financingPath):
                    financingBtn = driver.find_element_by_xpath(financingPath)
                    financingBtn.click()
                    sleep(1)

            else:
                cashBtn = driver.find_element_by_xpath(cashPath)
                cashFlag = cashBtn.get_attribute('checked')
                if not cashFlag:
                    cashBtn.click()
                    sleep(1)

            otherPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[21]'
            driver.find_element_by_xpath(otherPath).click()
            sleep(1)
            num = str(4 + 2 * numFromStr(stockNumVal))
            if isCashAll:
                cashAllPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[25]/android.view.View[1]/android.view.View/android.view.View[4]/android.view.View[2]'
                driver.find_element_by_xpath(cashAllPath).click()
                sleep(1)
            else:
                numPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[25]/android.view.View[1]/android.view.View/android.view.View[3]/android.view.View[2]/android.view.View[' + num + ']/android.view.View[1]/android.widget.TextView'
                driver.find_element_by_xpath(numPath).click()
                sleep(1)
            nextStepPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[3]/android.view.View[31]/android.view.View[2]/android.view.View[2]/android.view.View[5]'
            driver.find_element_by_xpath(nextStepPath).click()
            sleep(2)
            agreePath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[34]/android.view.View[3]/android.view.View/android.view.View[1]'
            driver.find_element_by_xpath(agreePath).click()
            sleep(1)
            finishPath = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[35]/android.view.View[2]'
            # finishBtn = driver.find_element_by_xpath(finishPath)
            driver.find_element_by_xpath(finishPath).click()
            sleep(2)
            print(driver.page_source)
            pwd = getPwd('fuTu')['tradePwd']
            print(pwd[0])
            os.system(
                'adb shell ime set com.sohu.inputmethod.sogou.xiaomi/.SogouIME'
            )
            # os.system('adb shell ime set io.appium.settings/.UnicodeIME')
            # os.system('adb shell ime set com.iflytek.inputmethod.miui/.FlyIME')
            # os.system('adb shell ime set com.baidu.input_mi/.ImeService')

            pwdPatha = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[35]/android.view.View[1]/android.view.View[2]/android.view.View/android.widget.ListView/android.view.View[1]'
            driver.find_element_by_xpath(pwdPatha).click()
            driver.press_keycode(144)
            # driver.find_element_by_xpath(pwdPatha).set_value(3)
            # pwdPathb = '/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View[1]/android.view.View[35]/android.view.View[1]/android.view.View[2]/android.view.View/android.widget.ListView/android.view.View[2]'
            # driver.find_element_by_xpath(pwdPathb).click()
            # driver.press_keycode(10)
        elif isExist(driver, 2, financeTimePath):
            financingTime = driver.find_element_by_xpath(financeTimePath)
            text = financingTime.get_attribute('text')
            print(text)

    sleep(5)
    driver.quit()