国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

appium移動(dòng)端python大麥網(wǎng)搶票

這篇具有很好參考價(jià)值的文章主要介紹了appium移動(dòng)端python大麥網(wǎng)搶票。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

import time
from datetime import datetime, timedelta


from appium import webdriver
from selenium.webdriver.common.by import By
#from appium.webdriver.extensions.android.nativekey import AndroidKey


"""優(yōu)化部分"""
'''
需要預(yù)留彈窗l(fā)ine61    
*******************************appium響應(yīng)過(guò)慢,需要提前啟動(dòng)appium***************************************
'''
"""優(yōu)化部分"""


'''設(shè)置部分'''
#初始化個(gè)人信息
pre_tickets_name="蔡徐坤"
audience_count=1
#填寫(xiě)時(shí)間為24小時(shí)制
main_hour =20
main_minute =38
'''設(shè)置部分'''


desired_caps = {
  'platformName': 'Android', # 被測(cè)手機(jī)是安卓
  'platformVersion': '12', # 手機(jī)安卓版本
  'deviceName': 'xxx', # 設(shè)備名,安卓手機(jī)可以隨意填寫(xiě)
  'appPackage': 'cn.damai', # 啟動(dòng)APP Package名稱
  'appActivity': '.launcher.splash.SplashMainActivity', # 啟動(dòng)Activity名稱
  'unicodeKeyboard': True, # 使用自帶輸入法,輸入中文時(shí)填True
  'resetKeyboard': True, # 執(zhí)行完程序恢復(fù)原來(lái)輸入法
  'noReset': True,       # 不要重置App
  'newCommandTimeout': 6000,
  'automationName' : 'UiAutomator2'
  # 'app': r'd:\apk\bili.apk',
}

#連接appium sever,初始化自動(dòng)環(huán)境
#Remote就是driver類的對(duì)象

def start_get_ticket():
  driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
  #設(shè)置缺省時(shí)間
  #測(cè)試過(guò)程出現(xiàn)彈窗,需要修改,或者半人工,需要將隱式等待增長(zhǎng)
  driver.implicitly_wait(9)


  ###開(kāi)始自動(dòng)化測(cè)試
  print("5s后開(kāi)始自動(dòng)化測(cè)試")
  time.sleep(5)
  driver.find_element(By.XPATH,'/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.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.LinearLayout[2]').click()
  search_box=driver.find_element(By.XPATH,'/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/android.widget.RelativeLayout/android.widget.EditText')
  search_box.send_keys(pre_tickets_name)
  driver.find_element(By.XPATH,'/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ViewFlipper/android.widget.FrameLayout/androidx.recyclerview.widget.RecyclerView/android.widget.RelativeLayout[1]/android.widget.TextView[2]').click()
  driver.find_element(By.XPATH,'/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ViewFlipper/android.widget.LinearLayout/androidx.viewpager.widget.ViewPager/android.widget.FrameLayout/android.widget.FrameLayout/android.view.ViewGroup/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout[1]/android.widget.LinearLayout').click()


  ###需要預(yù)留一個(gè)彈窗位置


  ###暫時(shí)認(rèn)為需要半人工處理信息
  print("前置查找元素任務(wù)已經(jīng)完成,接下來(lái)完成自動(dòng)搶票任務(wù)")
  print("查找元素的任務(wù)已經(jīng)完成,請(qǐng)接下來(lái)完成半人工任務(wù):修改預(yù)售票的參數(shù),時(shí)常20秒")
  time.sleep(20)

  print("即將開(kāi)始搶票,正在等待售票時(shí)間的到來(lái)")
  # 獲取當(dāng)前時(shí)間并轉(zhuǎn)換為北京時(shí)間
  utc_now = datetime.utcnow()
  beijing_now = utc_now + timedelta(hours=8)

  # 設(shè)置任務(wù)開(kāi)始時(shí)間

  task_time = beijing_now.replace(hour=main_hour, minute=main_minute, second=0, microsecond=0)

  # 計(jì)算距離任務(wù)開(kāi)始時(shí)間的時(shí)間差
  delta_time = task_time - beijing_now
  wait_seconds = delta_time.total_seconds()

  # 等待一定時(shí)間后執(zhí)行任務(wù)
  time.sleep(wait_seconds)

  # 即將開(kāi)始執(zhí)行搶票任務(wù)的代碼
  driver.implicitly_wait(2)
  """立即購(gòu)買"""
  driver.find_element(By.XPATH,
                      "/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.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.widget.FrameLayout/android.widget.LinearLayout").click()
  """確定"""
  driver.implicitly_wait(4)
  driver.find_element(By.XPATH,
                       "/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.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout[2]/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.TextView").click()

  """選擇觀眾,1位或者2位"""
  if (audience_count == 1):
    driver.implicitly_wait(2)
    driver.find_element(By.XPATH,
                        "/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/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[1]/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[1]/android.widget.CheckBox").click()
  if (audience_count == 2):
    driver.implicitly_wait(2)
    driver.find_element(By.XPATH,
                        "/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/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[1]/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[1]/android.widget.CheckBox").click()
    driver.find_element(By.XPATH,
                        "/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/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[1]/androidx.recyclerview.widget.RecyclerView/android.widget.LinearLayout[2]/android.widget.CheckBox").click()
  """提交訂單"""
  driver.implicitly_wait(2)
  driver.find_element(By.XPATH,
                      "/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[2]/android.widget.FrameLayout/android.widget.LinearLayout[2]/android.widget.TextView[3]").click()

  return 1



if __name__=='__main__':
  if(start_get_ticket()):
    print("所有任務(wù)都完成")





"""
logs
finish in 2023/6/21/16:04
"""

使用appium不是一個(gè)很好的選擇,而且也不一定能搶到票,由于沒(méi)有學(xué)習(xí)逆向工程,所以這個(gè)只能使用這個(gè)框架,這個(gè)框架在界面中有輪播,播放的情況下,定位元素會(huì)十分慢,但是我周圍的人確實(shí)能夠手工搶到票,做這個(gè)的意義就是省去人工操作,最后提升下我的技能。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-581859.html

到了這里,關(guān)于appium移動(dòng)端python大麥網(wǎng)搶票的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python 大麥搶票腳本

    請(qǐng)注意,編寫(xiě)或使用搶票腳本可能違反相關(guān)網(wǎng)站的服務(wù)條款和法律法規(guī)。以下內(nèi)容僅供學(xué)習(xí)和了解技術(shù)原理之用,不鼓勵(lì)或支持任何違反規(guī)定的行為。 在Python中編寫(xiě)大麥網(wǎng)搶票腳本通常涉及以下幾個(gè)步驟: ### 1. 分析網(wǎng)站結(jié)構(gòu) - 使用瀏覽器的開(kāi)發(fā)者工具(如Chrome的Inspect功能)

    2024年04月12日
    瀏覽(21)
  • Python制作【大麥網(wǎng)】自動(dòng)搶票程序

    Python制作【大麥網(wǎng)】自動(dòng)搶票程序

    大麥網(wǎng),是中國(guó)綜合類現(xiàn)場(chǎng)娛樂(lè)票務(wù)營(yíng)銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂(lè)劇、體育賽事等領(lǐng)域。 但是因?yàn)槠睌?shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票 那么,今天帶大家用Python來(lái)制作一個(gè)自動(dòng)搶票的腳本小程序 面向?qū)ο缶幊?selenium 操作瀏覽器

    2024年02月04日
    瀏覽(27)
  • 基于Python和Selenium的大麥網(wǎng)自動(dòng)搶票腳本

    自動(dòng)化搶票的腳本,需通過(guò)Selenium庫(kù)來(lái)實(shí)現(xiàn)自動(dòng)化操作。(學(xué)習(xí)參考) 優(yōu)化后的完整代碼: 需要注意的: 我用了 with 語(yǔ)句保證瀏覽器實(shí)例在函數(shù)結(jié)束后正確關(guān)閉。 我用了幾個(gè) try-except 塊處理在各個(gè)步驟可能出現(xiàn)的異常,它可以在異常的時(shí)候打印出錯(cuò)誤的信息。 我把大部分代

    2024年02月11日
    瀏覽(26)
  • Python制作【大麥網(wǎng)】搶票程序,看演唱會(huì)再也不怕沒(méi)票了

    Python制作【大麥網(wǎng)】搶票程序,看演唱會(huì)再也不怕沒(méi)票了

    大麥網(wǎng),是中國(guó)綜合類現(xiàn)場(chǎng)娛樂(lè)票務(wù)營(yíng)銷平臺(tái),業(yè)務(wù)覆蓋演唱會(huì)、 話劇、音樂(lè)劇、體育賽事等領(lǐng)域。 但是因?yàn)槠睌?shù)有限,還有黃牛們不能丟了飯碗,所以導(dǎo)致了,很多人都搶不到票 那么,今天帶大家用Python來(lái)制作一個(gè)自動(dòng)搶票的腳本小程序 面向?qū)ο缶幊?selenium 操作瀏覽器

    2024年02月05日
    瀏覽(43)
  • 大麥搶票腳本全自動(dòng)化

    大麥搶票腳本全自動(dòng)化

    代碼中首先進(jìn)行改造,基于autojs實(shí)現(xiàn)安卓端自動(dòng)搶購(gòu),簡(jiǎn)單來(lái)說(shuō)就是在代碼中填寫(xiě)好場(chǎng)次、票價(jià)、觀影人等信息后,停留在搶購(gòu)頁(yè)面,出現(xiàn)立即搶購(gòu)按︾便會(huì)執(zhí)行自動(dòng)化點(diǎn)擊,直到處于待付款狀態(tài)才停止。 ? 可以自動(dòng)檢測(cè)最新版本圖片滑塊,并滑動(dòng)。 更新不自動(dòng)點(diǎn)搶票按鈕

    2024年02月04日
    瀏覽(23)
  • 基于selenium的大麥網(wǎng)自動(dòng)搶票腳本

    基于selenium的大麥網(wǎng)自動(dòng)搶票腳本

    先配置webdriver ? 記錄cookie,設(shè)置免密登錄? 購(gòu)票頁(yè)面下單 ? 選擇座位+選擇場(chǎng)次,票檔(因?yàn)闄z索是否需要選擇座位要浪費(fèi)點(diǎn)時(shí)間,所以直接寫(xiě)了兩個(gè)方法,看著選) ? 不用選擇座位,直接選擇給場(chǎng)次票檔和數(shù)量 提交訂單 ? 購(gòu)票頁(yè)面點(diǎn)擊加票按鈕? 判斷XPATH是否存在 ? 頁(yè)

    2024年02月14日
    瀏覽(22)
  • 第十二屆“中關(guān)村青聯(lián)杯”全國(guó)研究生數(shù)學(xué)建模競(jìng)賽-C題:移動(dòng)通信中的無(wú)線信道“指紋”特征建模

    目錄 摘 要: 一、問(wèn)題引入 1.1 無(wú)線指紋 1.2 多徑傳播與時(shí)延擴(kuò)展

    2024年01月22日
    瀏覽(99)
  • 移動(dòng)應(yīng)用測(cè)試(Python+Appium+雷電模擬器)

    移動(dòng)應(yīng)用測(cè)試(Python+Appium+雷電模擬器)

    一、node.js(v20.1.1) 二、Java(JDK17) 三、Android SDK(24.4.1版本) 四、Python(3.10) 五、PyCharm(2023.3.2) 六、Appium(1.21.0) 七、雷電模擬器(雷電9) 若不想單獨(dú)去下載,想直接獲取所有安裝包,請(qǐng)?jiān)L問(wèn)百度網(wǎng)盤(pán)鏈接提取:https://pan.baidu.com/s/1LSzazfQ2PbdiMLfZ4WiWAQ?pwd=n4vi ? ? ? ?在

    2024年03月16日
    瀏覽(40)
  • 2022 年第十二屆 MathorCup 高校數(shù)學(xué)建模挑戰(zhàn)賽D題思路(移動(dòng)通信網(wǎng)絡(luò)站址規(guī)劃和區(qū)域聚類問(wèn)題)

    2022 年第十二屆 MathorCup 高校數(shù)學(xué)建模挑戰(zhàn)賽D題思路(移動(dòng)通信網(wǎng)絡(luò)站址規(guī)劃和區(qū)域聚類問(wèn)題)

    目錄 一、前言 二、問(wèn)題背景 三、問(wèn)題 四、解題思路 (1)針對(duì)問(wèn)題1: (2)針對(duì)問(wèn)題2: (3)針對(duì)問(wèn)題3: 五、附上幾個(gè)典型代碼 (1)K-means算法 (2)遺傳算法 (3)模擬退火算法 ????????本文是對(duì)2022 年第十二屆 MathorCup 高校數(shù)學(xué)建模挑戰(zhàn)賽D題 移動(dòng)通信網(wǎng)絡(luò)站址規(guī)劃

    2024年02月10日
    瀏覽(34)
  • 2022 年 MathorCup 高校數(shù)學(xué)建模挑戰(zhàn)賽——大數(shù)據(jù)競(jìng)賽(北京移動(dòng)用戶體驗(yàn)影響因素研究高級(jí)版代碼(遷移學(xué)習(xí)+kmeas聚類強(qiáng)特征生成))

    2022 年 MathorCup 高校數(shù)學(xué)建模挑戰(zhàn)賽——大數(shù)據(jù)競(jìng)賽(北京移動(dòng)用戶體驗(yàn)影響因素研究高級(jí)版代碼(遷移學(xué)習(xí)+kmeas聚類強(qiáng)特征生成))

    賽道 B:北京移動(dòng)用戶體驗(yàn)影響因素研究 移動(dòng)通信技術(shù)飛速發(fā)展,給人們帶來(lái)了極大便利,人們也越來(lái)越離不開(kāi)移動(dòng)通信技術(shù)帶來(lái)的各種便捷。隨著網(wǎng)絡(luò)不斷的建設(shè),網(wǎng)絡(luò)覆蓋越來(lái)越完善。各個(gè)移動(dòng)運(yùn)營(yíng)商,越來(lái)越重視客戶的網(wǎng)絡(luò)使用體驗(yàn),從而進(jìn)一步提升網(wǎng)絡(luò)服務(wù)質(zhì)量。客

    2024年02月13日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包