-
Notifications
You must be signed in to change notification settings - Fork 76
/
Copy pathmain.py
58 lines (52 loc) · 1.88 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
import datetime
import time
import winsound
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
TargetTime = "2023-04-16 16:39:00.00000000" # 设置抢购时间
WebDriver = webdriver.Chrome()
WebDriver.get(
"https://show.bilibili.com/platform/detail.html?id=72320&from=pc_ticketlist") # 输入目标购买页面
time.sleep(1)
# 等待页面加载完成
wait = WebDriverWait(WebDriver, 1)
print("进入购票页面成功")
WebDriver.find_element(By.CLASS_NAME, "nav-header-register").click()
print("请登录")
while True:
try:
WebDriver.find_element(By.CLASS_NAME, "nav-header-register")
except:
break
while True:
now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')
print(now + " " + TargetTime)
if now >= TargetTime:
WebDriver.refresh()
break
while True:
try:
element = wait.until(EC.visibility_of_element_located(
(By.XPATH, '/html/body/div/div[2]/div[2]/div[2]/div[4]/ul[1]/li[2]/div[1]')))
element.click()
# 等待抢票按钮出现并可点击
element = wait.until(EC.element_to_be_clickable(
(By.CLASS_NAME, 'product-buy.enable')))
# 点击抢票按钮
element.click()
# time.sleep(5)
print("进入购买页面成功")
except BaseException as e:
WebDriver.refresh()
continue
try:
WebDriver.find_element(By.CLASS_NAME, "confirm-paybtn.active").click()
print("订单创建完成,请在一分钟内付款")
duration = 10000 # 持续时间为 10 秒钟,单位为毫秒
freq = 440 # 播放频率为 440 Hz
winsound.Beep(freq, duration) # 播放系统嗡嗡声
time.sleep(60)
except:
print("无法点击创建订单")