【写在前面】

记得节前,西哥问我能不能帮忙写个淘宝自动抢单的功能。其实之前就有提到过sikuli IDE工具,可以很方便地实现图形化自动化,只是当时并没有真正用python实现。

因此刚好借这个机会,进一步熟悉python和sikuli框架之间的使用。

【效果如下 】

以下 操作全部由代码模拟用户鼠标操作进行的 。当前仅实现了自动打开浏览器并把商品加入 购物车,后续功能有待优化和 实现。

【示例代码】

# coding=utf-8# @Auther : "鹏哥贼优秀"# @Date : 2019/10/1# @Software : PyCharmfrom jpype import *import jpypeimport timeurl = 'https://detail.ju.taobao.com/home.htm?spm=608.2291429.102212b.1.68864f84xeZhgw&id=10000503777283&item_id=539686923712'jvmPath = jpype.get_default_jvm_path()jpype.startJVM(jvmPath, '-ea', '-Djava.class.path=F:\\sikuli\\1\\sikulixapi.jar')Screen = JClass('org.sikuli.script.Screen')Key = JClass('org.sikuli.script.Key')Pattern = JClass('org.sikuli.script.Pattern')KeyModifier = JClass('org.sikuli.script.KeyModifier')myscreen = Screen()mykey = Key()mykeymodifer = KeyModifier()myscreen.capture(0, 0, 1366, 768)myscreen.click(Pattern('最小化窗口.png').similar(0.6))if not myscreen.exists('add.png',2):print("未检测到浏览器,将自动打开chrome浏览器!")myscreen.doubleClick('chrome.png')myscreen.click(Pattern('add.png').similar(0.6))myscreen.type(url)myscreen.type(mykey.ENTER)myscreen.type(mykey.ENTER)myscreen.click(Pattern('最大化.png').similar(0.6))myscreen.click(Pattern('马上抢.png').similar(0.6))time.sleep(2)for i in range(5):myscreen.click(Pattern('4.png').similar(0.6))myscreen.click('taste.png')myscreen.click(Pattern('shopping cart.png').similar(0.6))shutdownJVM()

‍【知识点】

1、python 如何调用jar包

之前抢红包的博客,主要是基于sikuli IDE,即自身的app软件界面实现的。但是在下载sikuli程序时,其实还下载了一个sikuliapi.jar包。

因此现在的问题就是如何用Python调用jar包了。很简单,可以使用jpype库或者jython库。本文是 以jpype为例。(当前前提是本地电脑已经安装java,并成功配置java环境变量;如果不会配置java或者安装的同学,可 以自行百度)

(1)获取jvm路径信息;

(2)启动Jvm,即可调用到你想要的jar包。

2、sikuli jar包的功能使用

(1) screen:获取当前屏幕,之后 再进行具体按钮的操作;对应函数有用于确定屏幕范围的capture(x1,y1,x2,y2),也有手动确定检测屏幕范围的selectRegion();

(2) Pattern:用于图像匹配,支持相似度similiar(0.7)、偏移量设置targetOffset(10,30)。0.7表示相似度为70%,10表示向上移10个像素,30表示向右移30个像素;

(3) Key:用于键盘输入;

(4) KeyModifier:用于获取键盘控制对象,比如ctrl/alt/shift等,多用于 ctrl+A之类的组合

对应的屏幕操作:

(1) 单击:myscreen.click

(2) 双击:myscreen.doubleClick

(3) 输入:myscreen.type

(4) 对应enter输入:mykey.ENTER

(5) ctrl+a组合输入: myscreen('a',myKeyModifier.CTRL)

python自动抢单_【Python成长之路】基于sikuli jar包,实现淘宝自动抢单功能(1)...相关推荐

  1. 淘宝自动抢单的python实现

    github地址:https://github.com/944613709/TaoBao_QIangDan 说明 这个是淘宝自动抢单 采用pyqt5+pyUIC+qt designer+senuim ...

  2. Python实战:淘宝自动抢购

    Python实战:淘宝自动抢购 淘宝的限时抢购活动让许多消费者都感到头痛,往往在短时间内就被抢空了.有没有想过用Python写一个抢购程序呢?今天我们就来一起学习如何使用Python实现淘宝自动抢购. ...

  3. python实现的淘宝自动发货脚本

    文章目录 前言 一.什么是淘宝自动发货? 二.使用代码前环境配置 1.安装pycharm 2.安装python2.7解释器 2.安装浏览器对应的驱动 总结 前言 淘宝上很多物品是虚拟物品 希望能够做到 ...

  4. python 淘宝客服 机器人_Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人...

    原标题:Python实现资源代下|实现机器值守|全自动淘宝自动发货机器人 发货机器人 帮你实现:淘宝虚拟商品的自动值守.自动资源下载.自动Email发货 1.运作流程 Trip: 使用小附件方式发送邮 ...

  5. Python Selenium淘宝自动登陆最新版,无意间发现淘宝登陆漏洞?

    一.前言 之前写过一篇爬取淘宝商品信息的博客----<<传送门,当时还是新手,急于完成爬取目标,干脆手动登录淘宝使浏览器保存我的信息,然后使用本地用户配置控制浏览器,投机取巧地解决了登录问 ...

  6. 最新二开抢单系统淘宝自动抢单源码安装教程

    最新二开抢单系统淘宝自动抢单源码安装教程 [2次开发版]2020最新五代分佣抢单系统唯品会京东淘宝自动抢单区块源码 新增理财宝收益分佣功能 五代分佣 新增用户提现手续费 2020年02月04日升级 新 ...

  7. Chrome浏览器插件开发-淘宝自动登录

    http://www.cnblogs.com/oshine/p/5379349.html 浏览器插件的介绍 Chrome浏览器插件开发的准备工作 manifest.json配置介绍 页面如何注入scr ...

  8. 删除同域名所有cookies_淘宝自动登录2.0,新增Cookies序列化

    前段时间时间为大家讲解了如何使用requests库模拟登录淘宝,而今天我们将对该功能进行丰富.所以我们把之前的那个版本定为1.0,而今天修改的版本定为2.0.版本的地跌意味着功能的升级,那今天的2.0 ...

  9. 手机淘宝自动加好友及聊天实现

    手机淘宝自动加好友及聊天实现 说明 获取好友列表 获取手机编码 获取好友相关信息 发送好友请求 说明 本文仅技术交流学习,欢迎大家交流学习,WX号: AG_Quickly 获取好友列表 获取手机编码 ...

最新文章

  1. javascript的缓动效果
  2. 包头轻工计算机工程学院,包头轻工职业技术学院高职招生
  3. 8086减法指令SUB
  4. 数据库连接池优化配置(druid,dbcp,c3p0)
  5. 结合源代码分析一个完整的中断过程【转】
  6. 关于Visual Studio .NET 2010最近的发布情况
  7. 简单servlet和jdbc回顾
  8. android 跨进程 android:process,Android跨进程通信技术-多进程模式的运行机制
  9. 航空公司客户价值分析完整版
  10. 华为linux不识别U盘启动,华为电脑如何用u盘启动不了怎么办
  11. 数字PCR的数学原理及系统间相互比较
  12. 【verilog】b站-[Verilog HDL] Installing and Testing Icarus Verilog + GTKWave 笔记
  13. 海洋cms播放器html,海洋cms升级新播放器后播放不了如何解决?
  14. 大数据Hadoop之——EFAK和Confluent KSQL简单使用(kafka listeners 和 advertised.listeners)
  15. FreeType移植到 STM32 单片机以支持矢量字体
  16. 重磅发布《2020年中国乳制品行业数据中台研究报告》
  17. 接口技术课程设计——一种基于MFC构造自动测量系统
  18. 2022年全球市场输尿管入口导引鞘总体规模、主要生产商、主要地区、产品和应用细分研究报告
  19. 博途SCL边沿触发(上升沿/下降沿)有输入无输出
  20. 高效序列化protobuf和protostuff的区别

热门文章

  1. Spring Security 实战内容:实现自定义退出登录
  2. 2021年3月最新的山东大学网络认证的网址
  3. 计算机网络实验IP数据报分片,实验报告三IP数据分片.doc
  4. 算法系列之二十:计算中国农历(一)
  5. 5.服务网关:GateWay
  6. 第九周项目六--三色球问题
  7. 钉钉在线课堂回看发给对方观看需要这样做
  8. 解决MAC上Django连接Mysql django.db.utils.OperationalError: (2003, Can't connect to MySQL 的问题
  9. Python短链接生成、长链接还原,就是这么简单!
  10. WINCC软件与西门子PLC以太网通讯