使用selenium自动秒抢淘宝商品(附详细入门指南) 您所在的位置:网站首页 天猫自动抢单软件 使用selenium自动秒抢淘宝商品(附详细入门指南)

使用selenium自动秒抢淘宝商品(附详细入门指南)

2024-07-09 09:01| 来源: 网络整理| 查看: 265

使用selenium自动秒抢淘宝商品(附详细入门指南)

转:https://www.liangzl.com/get-article-detail-207822.html

Python大数据分析

记录   分享   成长

添加微信号" CNFeffery "加入技术交流群

selenium是一款web自动化测试工具,可以很方便地模拟真实用户对浏览器进行操作,它支持各种主流浏览器:IE、Chrome、Firefox、Safari、Opera等。

selenium有多种编程语言的客户端驱动,编写自动化脚本语法简洁,其中python的selenium库便非常的受欢迎。

你可以使用selenium做web测试或者爬虫,自动抢票、自动下单也可以用selenium来做。

演示自动打开淘宝网(文末会有秒抢流程)

使用Selenium实现自动化测试,需要3个要素:

1.selenium客户端或者与特定编程语言绑定的客户端驱动,可以是python,java,js等;

2.浏览器驱动, 这个驱动是根据不同的浏览器开发的,不同的浏览器使用不同的webdriver驱动程序且需要对应相应的浏览器版本;

3.浏览器,目前selenium支持市面上大多数浏览器,如:火狐,IE等;

安装selenium

可以使用pip或conda命令安装selenium:

pip install selenium 安装浏览器驱动

Selenium调用浏览器必须有一个webdriver驱动文件,下载好后把驱动程序放到python安装目录里即可。

各大浏览器驱动下载地址: Firefox:https://github.com/mozilla/geckodriver/releases/

Chrome:https://sites.google.com/a/chromium.org/chromedriver/

IE:http://selenium-release.storage.googleapis.com/index.html

以Chrome为例:

先在设置里查看Chrome版本:

然后下载对应的chromedrive,可以在淘宝的镜像网站下载:http://npm.taobao.org/mirrors/chromedriver/

找到对应的版本号下载,解压到python安装目录里,或者anaconda安装目录scripts文件夹里。

selenium操作浏览器

在notebook中进行selenium的脚本编写,可以随写随调,非常方便。

首先需要从selenium中导入webdriver模块:

from selenium import webdriver

然后打开浏览器:

browser = webdriver.Chrome()

最后可以打开某网址:

browser.get("https://www.taobao.com/")

针对浏览器的主要操作方法:

创建浏览器对象:driver = webdriver.xxx()

窗口最大化:maximize_window()

获取浏览器尺寸:get_window_size()

设置浏览器尺寸:set_window_size()

获取浏览器位置:get_window_position()

设置浏览器位置:set_window_position(x,y)

关闭当前标签/窗口:close()

关闭所有标签/窗口:quit()

selenium定位元素

因为selenium是模仿真实点击浏览器的行为,所以必须要先定位网页元素,才能进行各种操作。

「定位页面元素的8种主要方式」

id定位:driver.find_element_by_id(value)

name属性值定位:driver.find_element_by_name(value)

类名定位:driver.find_element_by_class_name(value)

标签名定位:driver.find_element_by_tag_name(value)

链接文本定位:driver.find_element_by_link_text(value)

部分链接文本:driver.find_element_by_partial_link_text(value)

xpath路径表达式:driver.find_element_by_xpath(value)

css选择器:driver.find_element_by_css_selector(value)

selenium操作网页

定位元素后,需要对网页进行各种操作,比如点击、刷新、保存等。

点击展开新的页面,点击方法:element.click()

其他主要操作方法:

请求某个url:driver.get(url)

刷新页面操作:refresh()

回退到之前的页面:back()

前进到之后的页面:forward()

获取当前访问页面url:current_url

获取当前浏览器标题:title

保存图片:get_screenshot_as_png()/get_screenshot_as_file(file)

网页源码:page_source

使用selenium抢购商品

导入selenium相关模块

# 导入库 from selenium import webdriver import datetime import time

打开chrome浏览器

# 记录时间 now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f') # 打开chrome  browser = webdriver.Chrome()

登录淘宝

# 登录 def login():     # 打开淘宝首页,通过扫码登录     browser.get("https://www.taobao.com/")     time.sleep(3)     # 打开登录界面     find_login = browser.find_element_by_link_text("亲,请登录")     if find_login:         find_login.click()         print("请扫码登录")         time.sleep(10)          login()

选择购物车列表

# 选择购物车列表 def picking(method):     # 是否全选购物车     if method == 0:         while True:             try:                 if browser.find_element_by_id("J_SelectAll1"):                     browser.find_element_by_id("J_SelectAll1").click()                     print('全选购物车成功')                     break             except:                 print(f"找不到购买按钮")     else:         print(f"请手动勾选需要购买的商品")         time.sleep(1)

点击结算按钮

# 点击结算按钮 def settlement():     while True:         try:             if browser.find_element_by_id('J_SelectedItemsCount').text >= '1':                 browser.find_element_by_link_text("结 算").click()                 print(f"结算成功,准备提交订单")                 break         except:             pass

点击提交订单按钮

# 点击提交订单按钮 def submitting():     while True:         try:             if browser.find_element_by_link_text('提交订单'):                 browser.find_element_by_link_text('提交订单').click()                 print(f"抢购成功,请尽快付款")                 break         except:             print(f"再次尝试提交订单")

开始执行抢购

def run(times):     # 打开购物车列表页面     print('正在抢购!')     browser.get("https://cart.taobao.com/cart.htm")     time.sleep(3)     while True:         now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S.%f')         # 对比时间,时间到的话就点击结算         if now > times:             # 全选购物车             picking(0)             # 点击结算按钮             settlement()             # 提交订单             submitting()             print(now)             break 结论

selenium还有很多强大的功能,后续会继续分享,也期待大家留言说说你的selenium使用心得。

最后补充一句,因为selenium涉及操作网页,所以需要使用者有一定的html知识储备,大家学之前可以先去看看html基础知识。

 

· 往期精选 ·

1高效的5个pandas函数,你都用过吗?

2jupyter平台最强插件没有之一

3在模仿中精进数据可视化02:温室气体排放来源可视化

 

 

Python大数据分析

data creates value

扫码关注我们

 

本文分享自微信公众号 - Python大数据分析(pydatas)。 如有侵权,请联系 [email protected] 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

 

695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

2020-09-26 23:37:21 梁钟霖 慢生活 学无止境 模板下载 面试题库 互联网的一些事点赞 →  0 【Python】使用Selenium实现淘宝抢单

【Python】使用Selenium实现淘宝抢单

阅读更多

item_get_pro - 获得淘宝商品详情 淘宝API

item_get_pro - 获得淘宝商品详情 淘宝API

阅读更多

python selenium控制浏览器爬取淘宝商品信息

python selenium控制浏览器爬取淘宝商品信息

阅读更多

Java8 Stream API 详细使用指南

Java8 Stream API 详细使用指南

阅读更多

用Python完成毫秒级抢单,助你秒杀淘宝大单

用Python完成毫秒级抢单,助你秒杀淘宝大单

阅读更多

淘宝商品价格爬取

淘宝商品价格爬取

阅读更多

【亲测有效】淘宝抢购秒杀软件_手机自动抢购秒杀软件_京东抢购秒杀神器app免费下载

【亲测有效】淘宝抢购秒杀软件_手机自动抢购秒杀软件_京东抢购秒杀神器app免费下载

阅读更多

Python 最强 IDE 详细使用指南!

PyCharm 是一种 Python IDE,可以帮助程序员节约时间,提高生产效率。那么具体如何使用呢?

阅读更多

淘宝大秒系统设计详解

淘宝大秒系统设计详解

阅读更多

淘宝APP商品搜索API提取

淘宝APP商品搜索API提取

阅读更多



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有