淘宝自动化下单脚本
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from gettime import tbtime # 获取淘宝时间戳'''以下两行代码解决支付宝支付页面对webdriver的检测'''
options = webdriver.ChromeOptions()
options.add_argument("disable-blink-features=AutomationControlled")classTcBao(object):# 创建类def__init__(self):
self.buy_time =1686830400#购买时间戳
self.browser = webdriver.Chrome(options=options)#过检测
self.diff_jiesuan =-5#点击结算按钮时间差
self.diff_tijiao =0.05# 提交订单时间差defget_login(self):
self.browser.get("https://www.taobao.com")
time.sleep(2)
self.browser.find_element(By.LINK_TEXT,"亲,请登录").click()print(f"请尽快扫码登录")defrefresh(self):
self.browser.get("https://cart.taobao.com/cart.htm")whileTrue:if self.buy_time - tbtime.get_time()>80:# 现在时间与购买时间相差大于80秒就刷新购物车
self.browser.get("https://cart.taobao.com/cart.htm")
time.sleep(50)else:print("抢购时间点将近,停止刷新,准备抢购...")breakdefget_cart_all(self):whileTrue:try:if self.browser.find_element(By.ID,"J_SelectAll1"):
self.browser.find_element(By.ID,"J_SelectAll1").click()print("已经选中全部商品")breakexcept:print("未点击购物车全选")defsettlement(self):whileTrue:if tbtime.get_time()- self.buy_time >= self.diff_jiesuan:try:
self.browser.find_element(By.LINK_TEXT,"结 算").click()
self.time_jiesuan = tbtime.get_time()print("结算点击成功")breakexcept:Nonedefsubmit(self):whileTrue:if tbtime.get_time()- self.buy_time >= self.diff_tijiao:try:
self.browser.find_element(By.LINK_TEXT,'提交订单').click()
self.time_tijiao = tbtime.get_time()print("订单提交成功")breakexcept:Nonedefrun(self):
self.get_login()whileTrue:
Ok =int(input('登录完成后请输入1:'))if Ok ==1:
self.refresh()
self.get_cart_all()
self.settlement()
self.submit()print(self.time_jiesuan)print(self.time_tijiao)breakinput("按任意键退出")if __name__ =='__main__':
tb = TcBao()
tb.run()whileTrue:print('def get_login1:')print('refresh2')print('get_cart_all3')print('settlement4')print('submit5')
n =int(input('input number:'))if n ==1:
tb.get_login()if n ==2:
tb.refresh()if n ==3:
tb.get_cart_all()if n ==4:
tb.settlement()print(tb.time_jiesuan)if n ==5:
tb.submit()print(tb.time_tijiao)
- 其中使用的tbtime包
# -*- coding:utf-8 -*-# 获取淘宝时间戳import json
import time
import requests
url1 ='http://acs.m.taobao.com/gw/mtop.common.getTimestamp/'
url2 ='http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp'
headers ={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43'}defget_time():
get_data = requests.get(url1, headers=headers)
data = json.loads(get_data.text)
time0 = data['data']['t']
time_1=time0[:10]+"."+time0[10:]
time_2=float(time_1)#time_tb=time.strftime("%H %M %S", time.localtime(time_2))return time_2
if __name__ =='__main__':
a=get_time()print(a)
支付页面使用了iframe无法定位密码输入框
- 配合AHK输入支付密码
CoordMode, mouse
F1::
click 100 538
send 0
send 0
send 0
send 0
send 0
send 0
click 110,612
MsgBox, 1, Click Pay , %A_Hour%:%A_Min%:%A_Sec% , 2147483 ;弹出完成时间的窗口
标签:
python
本文转载自: https://blog.csdn.net/qq248606117/article/details/131237022
版权归原作者 in dreaming 所有, 如有侵权,请联系我们删除。
版权归原作者 in dreaming 所有, 如有侵权,请联系我们删除。