くぎじどうカード

3131 ワード

ピン自動カード+プロセスデーモン
 
uiautomator 2ライブラリによる自動カード作成
これは半自動のタイミングカードマシンカードマシンにすぎず、両手を完全に解放し、コンピュータ環境に依存してadbに接続することはできません.両手を解放しなければならないのは打つことができる.勉強のためだけに.続けて見ることができます.両手を解放するにはjavaでandroidアプリケーションを書くことができ、タイマーと電話通知方式でカードを打つことができます.また、微信のスクリーンショットは通知結果を報告します.もっと便利になります.
 
次の環境に依存
  • android携帯電話adbデバッグ可能な
  • python 3環境
  • pip install pyinstallerパッケージexe
  • watchdogコマンドpip install watchdogウォッチドッグプロセスデーモンpython実装ウォッチドッグプログラム'''インストールpip install--upgrade weditor#インストール移動端(ここではスキップできます)python-m uiautomator 2 init#起動python-m weditor'''
  • # coding: utf-8
    import json
    import os
    import sys
    import uiautomator2 as u2
    import time
    import schedule
    
    PassWord = ""
    Account = ""
    PackageName = 'com.alibaba.android.rimet'
    
    '''
    #   
    pip install --upgrade weditor
    #      (             )
    python -m uiautomator2 init
    #   
    python -m weditor
    '''
    def Log(txt):
    	#pass
    	print(txt)
    
     def Log(txt):
    	#pass
    	print(txt)
    
    def autoDaKa():
    	App = u2.connect()
    	screen = App.info
    	if screen["screenOn"] == False: 
    		Log('    ')
    		App.screen_on()
    		Log('    ')
    		time.sleep(3)
    		Log('  ')
    		App.swipe_points([(0.485, 0.708), (0.481, 0.286)], 0.05)  #      
    
    	time.sleep(2)  
    	App.app_stop(PackageName)
    	Log('    ')
    	App.app_start(PackageName)
    	time.sleep(2) 
    	#    activity 
    	isExits = App(resourceId="com.alibaba.android.rimet:id/ll_pwd_login_mode").exists
    	if isExits:
    		Log('    ')
    		#      
    		App.set_fastinput_ime(True)
    		App(resourceId="com.alibaba.android.rimet:id/et_phone_input").set_text(Account)
    		time.sleep(1)
    		App(resourceId="com.alibaba.android.rimet:id/et_pwd_login").set_text(PassWord) 
    		App.set_fastinput_ime(False)
    		App.press("back")
    		App(resourceId="com.alibaba.android.rimet:id/tv").click()  
    		time.sleep(3)
    	else:
    		Log('    ')
    	
    	#     10 
    	App.wait_activity(".LaunchHomeActivity", timeout=2) # default timeout 10.0 seconds
    	   
    	Log("     ")
    	App(resourceId="com.alibaba.android.rimet:id/home_bottom_tab_button_work").click() 
    	time.sleep(1)  
    	
    	Log("    ")
    	App.xpath('//*[@text="    "]').click()
    	  
    	time.sleep(2)
    	
    	#             
    	
    	#     
    	start_time = datetime.datetime.strptime(str(datetime.datetime.now().date()) + '8:00', '%Y-%m-%d%H:%M')
    	#      
    	end_time = datetime.datetime.strptime(str(datetime.datetime.now().date()) + '10:00', '%Y-%m-%d%H:%M')
    	now_time = datetime.datetime.now()
    	if start_time < now_time < end_time:
    		Log('    ')  
    		App.xpath('//*[@text="    "]').click()
    	else:
    		Log('     ') 
    		App.xpath('//*[@text="    "]').click()
    		
    	time.sleep(2)
    	Log("    ") 
    	#    
    	App.app_stop(PackageName)
    	#    
    	App.screen_of();
    
    
    if __name__ == "__main__": 
    	schedule.every().day.at("09:40").do(autoDaKa)
    	schedule.every().day.at("20:01").do(autoDaKa)
    	while True:
    		schedule.run_pending()
    		time.sleep(1)