最近准点抢东西 ,抢不到有点烦,写了一个准点淘宝强东西的小程序。亲测,已经抢到。
from selenium import webdriver
import datetime
import time
# 打开Chrome浏览器
from selenium.webdriver import ActionChains
browser = webdriver.Chrome()
browser.maximize_window()
def login():
# 打开淘宝首页,通过扫码登录
browser.get("https://www.taobao.com")
time.sleep(3)
if browser.find_element_by_link_text("亲,请登录"):
browser.find_element_by_link_text("亲,请登录").click()
time.sleep(2)
browser.find_element_by_link_text("密码登录").click()
# browser.find_element_by_id()
browser.find_element_by_id("fm-login-id").send_keys("")
browser.find_element_by_id("fm-login-password").send_keys('')
# 定位滑块元素
source = browser.find_element_by_xpath("//*[@id='nc_1_n1z']")
# 定义鼠标拖放动作
ActionChains(browser).drag_and_drop_by_offset(source, 258, 0).perform()
# 等待js认证
time.sleep(5)
browser.find_element_by_xpath('//*[@id="login-form"]/div[4]/button').click()
time.sleep(1)
picking(0)
def picking(method):
# 打开购物车列表页面
browser.get("https://cart.taobao.com/cart.htm")
time.sleep(3)
# 是否全选购物车
if method == 0:
while True:
try:
if browser.find_element_by_id("J_SelectAll1"):
browser.find_element_by_id("J_SelectAll1").click()
break
except:
print(f"找不到购买按钮")
buy('2020-05-25 16:16:00.000000')
else:
print(f"请手动勾选需要购买的商品")
time.sleep(5)
def buy(times):
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
# 对比时间,时间到的话就点击结算
if now > times:
# 点击结算按钮
while True:
try:
if browser.find_element_by_link_text("结 算"):
time.sleep(0.1)
browser.find_element_by_link_text("结 算").click()
print(f"结算成功,准备提交订单")
break
except Exception as e:
print(e)
# 点击提交订单按钮
time.sleep(1)
while True:
try:
if browser.find_element_by_link_text('提交订单'):
browser.find_element_by_link_text('提交订单').click()
print(f"抢购成功,请尽快付款")
except:
print(f"再次尝试提交订单")
time.sleep(1)
if __name__ == '__main__':
login()