python登陆浏览器进行秒杀demo

简介: 秒杀demo

import time

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

# 设置秒杀时间和商品链接

buy_time = "2023-06-01 10:00:00"

url = "https://www.example.com/product"

# 获取当前时间

now_time = time.time()

# 计算距离秒杀时间还有多少秒

target_time = time.mktime(time.strptime(buy_time, "%Y-%m-%d %H:%M:%S"))

secs_to_buy = int(target_time - now_time)

# 等待至秒杀时间

print(f"等待到达秒杀时间:{buy_time}")

time.sleep(secs_to_buy)

# 自动打开浏览器,并访问商品页面

browser = webdriver.Chrome()

browser.get(url)

# 等待加载商品信息

wait = WebDriverWait(browser, 10)

buy_btn = wait.until(EC.element_to_be_clickable((By.XPATH, '//button[@class="buy-btn"]')))

buy_btn.click()

submit_btn = wait.until(EC.element_to_be_clickable((By.XPATH, '//button[@class="submit-btn"]')))

submit_btn.click()

# 关闭浏览器

browser.quit()

print("购买完成!")

在这个版本中,我们使用了 find_element 和 expected_conditions 进行相关元素的定位。

首先注意到我们从 selenium.webdriver.common.by 模块中引入了 By,这使得我们可以通过不同的策略选项来定位元素。例如,通过名称、类名或Xpath等。

然后,我们使用 WebDriverWait 和 expected_conditions 的组合以避免在页面加载过慢的情况下发生异常,等待购买和提交按钮可见并点击。

这种方法的优点是更加健壮和安全。尤其在复杂的网站上,使用这种方式操作元素可以大量减少失败率,从而编写出更高质量的自动化测试用例。

相关文章
|
2月前
|
Python
python3之flask快速入门教程Demo
python3之flask快速入门教程Demo
47 6
|
15天前
|
数据采集 JavaScript 前端开发
Puppeteer-py:Python 中的无头浏览器自动化
Puppeteer-py:Python 中的无头浏览器自动化
|
1月前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
2月前
python+Pycharm+selenium操作浏览器(Chorme或Edge)
python+Pycharm+selenium操作浏览器(Chorme或Edge)
63 1
|
3月前
|
Web App开发 测试技术 C++
Playwright安装与Python集成:探索跨浏览器测试的奇妙世界
Playwright是新兴的跨浏览器测试工具,相比Selenium,它支持Chrome、Firefox、WebKit,执行速度快,选择器更稳定。安装Playwright只需一条`pip install playwright`的命令,随后的`playwright install`会自动添加浏览器,无需处理浏览器驱动问题。这一优势免去了Selenium中匹配驱动的烦恼。文章适合寻求高效自动化测试解决方案的开发者。
75 2
|
3月前
|
JavaScript 前端开发 测试技术
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
MechanicalSoup,一个非常实用的 Python 自动化浏览器交互工具库!
50 9
|
3月前
|
Web App开发 测试技术 Python
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
【如何学习python自动化测试】—— 浏览器驱动的安装 以及 如何更新driver
55 0
|
3月前
|
编解码 测试技术 Python
【如何学习Python自动化测试】—— 浏览器操作
【如何学习Python自动化测试】—— 浏览器操作
20 0
|
3月前
|
Python
Python 循环使用demo
【4月更文挑战第3天】在Python中,主要的循环结构有for和while。示例包括:使用for循环打印列表[1, 2, 3, 4, 5],以及使用while循环计算1到10的和。`for i in [1, 2, 3, 4, 5]: print(i)`,以及`while count <= 10: sum += count; count += 1; print(sum)`。
23 2
|
3天前
|
机器学习/深度学习 人工智能 前端开发
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统
使用TensorFlow.js在浏览器中进行情感分析是一个非常实用的应用场景。TensorFlow.js 是一个用于在JavaScript环境中训练和部署机器学习模型的库,使得开发者能够在客户端直接运行复杂的机器学习任务。对于情感分析,我们可以使用预先训练好的模型来识别文本中的积极、消极或中性情感。
27 4
【人工智能】利用TensorFlow.js在浏览器中实现一个基本的情感分析系统