- 基本原理:
- 主要利用selenium登陆淘宝,并对购物车内的商品提交,简单的一个抢购订单
- 用selenium正常登陆会出现滑动验证,发现用微博账号登陆就不会
- 代码如下:
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver import ActionChains
import time,datetime
def login():
driver.get('https://www.taobao.com/')
driver.find_element_by_class_name('h').click()
driver.find_element_by_class_name('weibo-login').click()
driver.find_element_by_name('username').send_keys('账号')
driver.find_element_by_name('password').send_keys('密码')
time.sleep(3)
driver.find_element_by_xpath('//*[@id="pl_login_logged"]/div/div[7]/div[1]/a').click()
time.sleep(5)
driver.get('https://cart.taobao.com/cart.htm')
now = datetime.datetime.now()
print('登陆成功,当前时间为,',now.strftime('%Y-%m-%d %H:%M:%S'))
def buy(times):
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
if now > times:
while True:
try:
if driver.find_element_by_class_name('select-all'):
driver.find_element_by_class_name('select-all').click()
break
except:
print('找不到全选按钮')
time.sleep(2)
while True:
try:
if driver.find_element_by_xpath('//*[@id="J_Go"]/span'):
driver.find_element_by_xpath('//*[@id="J_Go"]/span').click()
break
except:
print('找不到结算按钮')
time.sleep(2)
while True:
try:
if driver.find_element_by_class_name('go-btn'):
driver.find_element_by_class_name('go-btn').click()
break
except:
print('找不到提交按钮')
if __name__ == '__main__':
times = input('请输入抢购的时间:')
driver = webdriver.Chrome()
login()
buy(times)