新手上路之旅~
需要用到selenium架構
安裝selenium指令:pip/pip3 install selenium
我的思想流程:登入 - 檢測是否可以結算 (可以結算就去結算) - 送出訂單
我使用的環境:Python3.6.5 ,火狐浏覽器
需要用到 geckodriver , 下載下傳位址:https://github.com/mozilla/geckodriver/releases
引入工具
# 引入geckodriver,根據您的機器實際路徑
firefox = "/xxx/geckodriver/geckodriver"
browser = webdriver.Firefox(executable_path= firefox)
browser.maximize_window()
登入
# 打開淘寶登入頁,并進行掃碼登入
browser.get("https://www.taobao.com")
time.sleep(3)
if browser.find_element_by_link_text("親,請登入"):
browser.find_element_by_link_text("親,請登入").click()
print("請在15秒内完成掃碼")
time.sleep(15)
browser.get("https://cart.taobao.com/cart.htm")
time.sleep(3)
now = datetime.datetime.now()
print('login success:', now.strftime('%Y-%m-%d %H:%M:%S'))
死循環判斷
# 設定開始時間
start_time = '2019-06-14 00:00:00.000000'
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
if now > times:
if browser.find_element_by_id('J_SelectAllCbx2'):
browser.find_element_by_id("J_SelectAll2").click()
## 去往結算方法
goShip()
break
time.sleep(0.01)
到時間就去GO結算
# 這裡,需要延遲0.01秒,如果沒有會結算失敗
def goShip():
time.sleep(0.01)
while True:
try:
if browser.find_element_by_id('J_Go'):
ship_btn = browser.find_element_by_id('J_Go')
if ship_btn.get_attribute('class') == "submit-btn":
browser.find_element_by_id("J_Go").click()
print("結算成功.下一步,送出訂單")
# 跳轉到送出訂單方法,請看下面
submitOrder()
break
else:
if browser.find_element_by_id('J_SelectAllCbx2'):
browser.find_element_by_id("J_SelectAll2").click()
except:
print("結算發生異常")
送出訂單
def submitOrder():
print("start submit order")
time.sleep(0.01)
tijiao_zongshu = 0
while True:
tijiao_zongshu += 1
try:
if browser.find_element_by_link_text('送出訂單'):
browser.find_element_by_link_text('送出訂單').click()
now1 = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print("搶購成功時間:%s" % now1)
break
except:
print('再次嘗試送出訂單,目前第 %s 次送出' % tijiao_zongshu)
好了,謝謝您的觀看。