买iPhone12首发还用抢?有钱就行!Python抢购脚本

不废话 先看实现效果

简介

本案例仍然隶属于自动化测试专题的一个小案例
Selenium和WebServer搭配实现的自动化脚本
Selenium本身是用于测试,但数据采集和爬虫也可以使用

源码如下

from datetime import datetime

from selenium import webdriver
import time


# 访问测试的url定义
url = "https://www.apple.com.cn/cn-k12/shop/buy-iphone/iphone-12-pro"

# 1. 创建浏览器对象  这里的Chrome中的变量是chromedriver的驱动地址
driver = webdriver.Chrome('./chromedriver')
# 2. 跳转到apple官网
driver.get(url)
# 3. 隐式等待 设置 防止预售的网络的阻塞
driver.implicitly_wait(5)

# 4. 开始选择规格
# 4.1 必须选Pro
# element = driver.find_element_by_id('Item1-dimensionScreensize-6_1inch')
element_sku = driver.find_element_by_xpath('//*[@id="Item1"]/div/fieldset/div[2]/div[1]/div/div')
driver.implicitly_wait(5)
element_sku.click()
# 4.2 海蓝色
# element_color = driver.find_element_by_xpath('//*[@id="dimensionColor-pacificblue"]')
element_color = driver.find_element_by_id('dimensionColor-pacificblue')
driver.execute_script("arguments[0].click();", element_color)
# 4.3 大内存512G
element_memory = driver.find_element_by_css_selector('#Item3-dimensionCapacity-512gb')
driver.execute_script("arguments[0].click();", element_memory)
# 4.4 没有旧机抵扣
element_old = driver.find_element_by_xpath('//*[@id="noTradeIn"]')
driver.execute_script("arguments[0].click();", element_old)
# 4.5 无Applecare
element_care = driver.find_element_by_id('applecareplus_58_noapplecare')
driver.execute_script("arguments[0].click();", element_care)
# 4.6 添加到购物袋
driver.implicitly_wait(3)
element_car = driver.find_element_by_xpath('/html/body/div[2]/div[7]/div[1]/div/store-provider/step1-flagship/div/div[3]/summary-builder/div[2]/div[1]/div/div[1]/div[2]/div/div/form/div/span/button')
# element_car = driver.find_element_by_name('add-to-cart')
# element_car = driver.find_element_by_css_selector('.add-to-cart')
if element_car is not True:
    element_car = driver.find_element_by_xpath('//*[@id="primary"]/summary-builder/div[2]/div[1]/div/div[1]/div[2]/div/div/form/div/span/button')
driver.execute_script("arguments[0].click();", element_car)

# 5 页面跳转查看购物袋
driver.implicitly_wait(10)
element_check = driver.find_element_by_xpath('//*[@id="root"]/div[2]/div/div/div[2]/div/form/button')
driver.execute_script("arguments[0].click();", element_check)

# 6 结账
driver.implicitly_wait(10)
element_check_out = driver.find_element_by_xpath('//*[@id="shoppingCart.actions.checkout"]')
driver.execute_script("arguments[0].click();", element_check_out)

# 7 结账界面跳转时间较长  隐式等待多等一会
driver.implicitly_wait(30)
# 7.1 输入用户名
element_username = driver.find_element_by_xpath('/html/body/div[2]/div[4]/div/div[2]/div[1]/div/div[1]/div/div/form/fieldset/div/div[1]/input')
time.sleep(3)
element_username.send_keys('13333109601')
# driver.execute_script("arguments[0].send_keys('13333109601');", element_username)
# 7.2 输入密码
element_password = driver.find_element_by_xpath('/html/body/div[2]/div[4]/div/div[2]/div[1]/div/div[1]/div/div/form/fieldset/div/div[2]/input')
time.sleep(3)
element_password.send_keys('xxxxxxxxxc')
# driver.execute_script("arguments[0].send_keys('Hansong@1209');", element_password)
# //*[@id="recon-0-3"]  输入appid
# //*[@id="recon-0-5"]  输入密码
# 7.3 点击结账
element_to_order = driver.find_element_by_xpath('/html/body/div[2]/div[4]/div/div[2]/div[1]/div/div[1]/div/div/form/div/button')
driver.execute_script("arguments[0].click();", element_to_order)

# 8 最终结账
driver.implicitly_wait(5)
# 8.1 地址
element_address = driver.find_element_by_xpath('//*[@id="checkout-container"]/div/div[8]/div[1]/div[2]/div/div/div/div[1]/div[2]/fieldset/div/div/div/div[1]/div/div[1]/label')
driver.execute_script("arguments[0].click();", element_address)
# 8.2 送货时间
# element_iphone_time = driver.find_element_by_xpath('//*[@id="checkout-container"]/div/div[6]/div[1]/div[2]/div/div/div[1]/div/div/div/div/div[2]/div/div[3]/fieldset/div/div/label')
# driver.execute_script("arguments[0].click();", element_iphone_time)
# 8.3 下一步
element_to_alipay = driver.find_element_by_xpath('/html/body/div[2]/div[4]/div/div[8]/div[1]/div[2]/div/div/div/div[1]/div[5]/div/div/div/div/div/button')
# element_to_alipay = driver.find_element_by_xpath('//*[@id="rs-checkout-continue-button-bottom"]')
if element_to_alipay is not True:
    element_to_alipay = driver.find_element_by_css_selector('#addressVerification')
driver.execute_script("arguments[0].click();", element_to_alipay)

# 9 选择送达日期
# 9.1
element_iphone_time = driver.find_element_by_xpath('//*[@id="checkout-container"]/div/div[6]/div[1]/div[2]/div/div/div[1]/div/div/div/div/div[2]/div/div[3]/fieldset/div/div/label')
driver.execute_script("arguments[0].click();", element_iphone_time)
# 9.2
element_next = driver.find_element_by_xpath('/html/body/div[2]/div[4]/div/div[6]/div[1]/div[2]/div/div/div[2]/div/div/div/div/button')
driver.execute_script("arguments[0].click();", element_next)

# 10. 支付宝支付
# 10.1 支付宝
element_alipay = driver.find_element_by_xpath('//*[@id="checkout.billing.billingOptions.options.0-selector"]/label')
driver.execute_script("arguments[0].click();", element_alipay)
# 10.2 检查订单
element_check_order = driver.find_element_by_xpath('//*[@id="rs-checkout-continue-button-bottom"]')
driver.execute_script("arguments[0].click();", element_check_order)
# 10.3 勾选选项 同意
element_agree = driver.find_element_by_xpath('//*[@id="terms-checkbox-segmentSpecificTerms"]')
driver.execute_script("arguments[0].click();", element_agree)
# 10.4 现在支付
element_pay_now = driver.find_element_by_xpath('/html/body/div[2]/div[4]/div/div[4]/div[1]/div[1]/div/div/div[2]/div[6]/div/div/div/div[1]/button')
driver.execute_script("arguments[0].click();", element_pay_now)

# 11 点击现在支付
element_pay_now_now = driver.find_element_by_xpath('/html/body/div[1]/div[4]/div/div[2]/div[1]/div/div/div[2]/a')
driver.execute_script("arguments[0].click();", element_pay_now_now)

# 11 退出浏览器
time.sleep(10)
# driver.quit()

完美,你学会了吗

PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取

python免费学习资料以及群交流解答点击即可加入

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
iPhone 14 Pro抢购脚本是一种自动化工具,可以帮助用户在抢购时提高成功率。该脚本利用计算机程序的快速执行速度和智能化处理能力,实现自动刷新、提交订单等操作,提高用户抢购的效率。 使用iPhone 14 Pro抢购脚本具体步骤如下: 1. 下载并安装抢购脚本软件。 2. 打开软件并设置相关信息,如购数量、收货地址等。 3. 在抢购开始前,提前登录账号,并确保有足够的支付方式和余额。 4. 预设好抢购时间,并在时间到达前打开软件。 5. 脚本会自动刷新页面,找到购按钮后立即点击。 6. 进入购页面后,脚本会自动填写相关信息并提交订单。 7. 如购失败,脚本会自动重新刷新页面并再次尝试购,直到成功或抢购结束。 使用抢购脚本需要注意以下几点: 1. 合法合规:确保使用脚本的方式不违反相关法律法规和平台规定。 2. 网络稳定:保持稳定的网络连接,以免出现连接失败或延迟等问题。 3. 账号安全:设置强密码,并定期更换,确保账号安全。 4. 快速响应:脚本的执行速度快,但仍需手动确认订单等重要步骤。 需要注意的是,使用抢购脚本并不能保证100%成功,因为抢购过程中涉及到众多因素,如网络条件、服务器负载等,这些都可能影响抢购结果。因此,除了使用脚本外,用户还应提前做好购准备,尽量选择稳定的网络环境、备好支付方式和资金,并提前熟悉购流程,以提高抢购成功的机会。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值