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 的组合以避免在页面加载过慢的情况下发生异常,等待购买和提交按钮可见并点击。

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

相关文章
|
4月前
|
数据采集 Web App开发 JavaScript
爬虫策略规避:Python爬虫的浏览器自动化
爬虫策略规避:Python爬虫的浏览器自动化
|
5月前
|
Web App开发 SQL 数据库
使用 Python 解析火狐浏览器的 SQLite3 数据库
本文介绍如何使用 Python 解析火狐浏览器的 SQLite3 数据库,包括书签、历史记录和下载记录等。通过安装 Python 和 SQLite3,定位火狐数据库文件路径,编写 Python 脚本连接数据库并执行 SQL 查询,最终输出最近访问的网站历史记录。
79 4
|
5月前
|
Web App开发 XML JavaScript
Python 操作浏览器:让 Python 和 Web 世界合二为一
Python 操作浏览器:让 Python 和 Web 世界合二为一
120 3
|
6月前
|
Web App开发 存储 安全
Python编写脚本,打开浏览器输入网址,自动化登陆网站
Python编写脚本,打开浏览器输入网址,自动化登陆网站
375 4
|
7月前
|
Shell 网络安全 数据安全/隐私保护
使用 Python 远程登陆服务器的最佳实践
使用 Python 远程登陆服务器的最佳实践
58 5
|
7月前
|
数据采集 缓存 JavaScript
​DrissionPage,Python浏览器自动化又一神器~
​DrissionPage,Python浏览器自动化又一神器~
192 1
|
7月前
|
数据采集 JavaScript 前端开发
Puppeteer-py:Python 中的无头浏览器自动化
Puppeteer-py:Python 中的无头浏览器自动化
|
8月前
|
机器人 Shell 开发者
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
`roslibpy`是一个Python库,它允许非ROS(Robot Operating System)环境(如Web浏览器、移动应用等)与ROS环境进行交互。通过使用`roslibpy`,开发者可以编写Python代码来远程控制ROS节点,发布和订阅话题,以及调用服务。
|
9月前
python+Pycharm+selenium操作浏览器(Chorme或Edge)
python+Pycharm+selenium操作浏览器(Chorme或Edge)
240 1
|
数据安全/隐私保护 Python
python Day1作业:用户三次登陆锁定
点击(此处)折叠或打开 #!/usr/bin/env python # -*- coding:utf8 -*- import os import...
1023 0

热门文章

最新文章