华为mate40pro抢购自用神器开源-请所有人更新最新版修复BUG
华为mate40pro抢购自用神器开源妈妈再也担心我买不着了
听说现在是地表性能最好的手机
我最近老是抢不到,我相信很多人和我一样想支持,却抢不到,所以它来了!带着源码来了!
支持N多账号同时抢购,或者同一个账号开多个页面同时抢
(不用担心,要是你运气好几个都成了,你不付款,会自动取消的)
操作说明:
main.exe成品
main.py源码
搞源码的,你需要把这个chromedriver.exe放你的python 环境的\Scripts文件夹中
一般人只需要运行main.exe
第一次运行,请先点1添加添加账号
如果你要自定义产品和按钮
F12弹出调试工具 然后按步骤获取目标按钮的css选择器文本
#pip selenium -i https://pypi.tuna.tsinghua.edu.cn/simple/
#然后记得把chromedriver.exe放你的python 环境的\Scripts文件夹中
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090 091 092 093 094 095 096 097 098 099 100 101 102 103 104 105 | from selenium import webdriver from PyQt5.QtWidgets import QMessageBox, QMainWindow, QTextEdit import time, json class HaiWei(): def __init__( self ): # 默认的链接 self .url = '' # 默认的按钮 self .selector = '' self .start_kg = False def addLogin( self , name, window_main, ms): ''' 增加一个登录的cookies 就是分别 登录一下账号 :return: ''' # 创建浏览器对象 try : driver = webdriver.Chrome() driver.get( self .url) QMessageBox.information(window_main, '提醒:' , '请在登入好账号后点击确定(不要主动关闭浏览器)' , QMessageBox.Ok) except : QMessageBox.warning(window_main, '错误:' , '您没有安装Google浏览器或者版本低于86' , QMessageBox.Ok) return try : dictCookies = driver.get_cookies() jsonCookies = json.dumps(dictCookies) # 登录完成后,将cookie保存到本地 with open (f 'cookies/{name}.json' , 'w' ) as f: f.write(jsonCookies) ms.log_add.emit(f '账号:{name} 保存成功!' ) driver.close() driver.quit() except : QMessageBox.warning(window_main, '错误:' , '请不要提前关闭浏览器!' , QMessageBox.Ok) def start( self , name, driver, ms): ''' 开始自动多线程抢华为mate40pro手机,因为我 没成功过,所以如果成功了请自己判断 :param name: 账号备注 :param driver: 浏览器 :param ms: 信号 :return: ''' # 超时 driver.set_page_load_timeout( 5000 ) # 防止页面加载个没完 # 访问一次,不然容易设置不了cookies driver.get( self .url) # 删除第一次建立连接时的cookie driver.delete_all_cookies() # 读取登录时存储到本地的cookie with open (f 'cookies/{name}.json' , 'r' , encoding = 'utf-8' ) as f: listCookies = json.loads(f.read()) for cookie in listCookies: driver.add_cookie({ "domain" : cookie[ 'domain' ], "name" : cookie[ 'name' ], "path" : cookie[ 'path' ], "value" : cookie[ 'value' ] }) driver.get( self .url) i = True while True : if self .start_kg = = True : if i = = True : ms.log_add.emit( f '账号:{name} 现在开始点击{driver.find_element_by_css_selector(self.selector).text}按钮,祝您好运!' ) i = False try : elem = driver.find_element_by_css_selector( self .selector) elem.click() except : time.sleep( 1 ) try : elem = driver.find_element_by_css_selector( '#checkoutSubmit' ) ms.log_add.emit(f '账号:{name} 恭喜您,成功抢到!,赶紧付款吧!' ) elem.click() except : pass time.sleep( 0.2 ) def setting( self , url, selector): ''' 自定义抢购的链接和疯狂点击的按钮(css选择器文本输入方法也很简单) 获取选择器selector文本步骤: 1.打开你的网站然后在浏览器中找到你需要不断点击的按钮后右键,菜单选择[审核元素\检查] 2.之后就会出来调试器,就在高亮的元素上右键菜单依次找到 Copy > Copy selector 然后点击就成功复制到文本了 3.将文本填进去就好了(最好是懂点css的基础,或者自己找规律来改) :param url:自定义网址 :param selector:css选择器文本 :return: ''' if url ! = None and url ! = '': self .url = url else : self .url = 'https://www.vmall.com/product/10086726905036.html' if selector ! = None and selector ! = '': self .selector = selector else : self .selector = '#pro-operation > a.product-button02' print ( self .url, self .selector) |
紧急更新说明20201120:
1.发现在某些时候会过快的点击返回 具体原因 因为时间过于仓促,我来不及获取网页源码,没办法调试,因此暂时删除了返回功能
.(反正网友的经验也是第一次没成后面基本也排不到)
2.修复了没抢购成功,却提示成功的bug,并不会导致有啥问题,但是还是修复了.
紧急更新说明20201120:
1.发现在某些时候会过快的点击返回 具体原因 因为时间过于仓促,我来不及获取网页源码,没办法调试,因此暂时删除了返回功能
.(反正网友的经验也是第一次没成后面基本也排不到)
2.修复了没抢购成功,却提示成功的bug,并不会导致有啥问题,但是还是修复了.
紧急更新说明20201120:
1.发现在某些时候会过快的点击返回 具体原因 因为时间过于仓促,我来不及获取网页源码,没办法调试,因此暂时删除了返回功能
.(反正网友的经验也是第一次没成后面基本也排不到)
2.修复了没抢购成功,却提示成功的bug,并不会导致有啥问题,但是还是修复了.
请务必下载最新版本
源码和成品:(20201120 10:53)
https://www.lanzoui.com/iryOYikmvde
真实体验感(用了3天了,既然开发了这个软件,那我也要把真实情况给各位网友汇报一下):
1.我目前,我已经成功买到!已经上手,第一感觉贼棒,哈哈,确实是黑科技很多,流畅就不必说了,甩开普通的安卓手机一整条街,这是我没想到的。感觉根本不像是安卓系统该有的流畅和高端感。
2.就是有点小纠结的就是我抽到了京东方,真有点绿。。。。听说耐摔,,希望是真的,不然我真的不平衡了,总体来说却是各方面很好,,就这个屏幕。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
3.第一次买华为手机,我可能个人处女座有点强迫症,越看越觉得绿,看能不能看习惯了。。也懒得折腾听说现在除非买pro+或者保时捷,不然几乎都是京东方了。。。换也没意义。如果不是特意去拿白色的东西去对比,是不会发现的。。但是一旦发现,,就很难受。。。。。懂得人都懂。。这点希望华为能够后面去正面回应这个问题,最起码发个公告或者视频回应一下,理解都能理解。。但是不能无视。。
4.总的来说是蛮好的,超过了我对安卓机的预期(之前一直都用苹果,确实用几年都没卡过。在这更前面用过小米,中兴,魅族安卓手机都是很拉胯的。给我留下了阴影,,有些甚至几个月就开始卡了,而且广告还很难关掉。烦得要死!华为这点还不错广告很容易关掉。设置里面通知关掉就真的没广告了,而且有些安卓机,你即使设置了还是一样给你弹广告。。。
5.交互上,感觉非常棒,体验感确实很nice 容易让人上瘾,只要上手就会觉得很高级,让人爱不释手!这是真的,但是我也遇到一些点 某些app上的返回按钮的时候,点不成功的情况,不知道是不是我不习惯的问题。在苹果上确实没这种情况。)
6.玩游戏,王者荣耀,体验感很好,即使我自己网络偶尔延迟飘到400ms,,我都没发现它卡,不知道怎么做到的(以前用苹果手机网络卡的时候,肯定是能感觉到卡顿的)。确实很流畅。开的是最高画质,和高分辨率,高帧率。
7.还有神奇的只能停车位功能,,我一开始一脸懵逼,它怎么知道我停哪里的,后面研究发现原来是蓝牙断了,他就记录位置所以也不算很高级,有手就行,,不过确实蛮意外的这个都能想到。。
8.语音助手,我以为是个憨批,,没想到,识别率很高,很少听错的情况。。
9.别的功能,我也不是很感兴趣,就不多说了。对了色温可以调成 鲜艳 然后 冷系,,就会好很多
天猫华为官方自营店抢购目标按钮文本:
#J_LinkBuy
京东华为官方自营店抢购目标按钮文本:
#choose-btn-ko
(如果不支持cookies提前保存,淘宝的反爬检测是有的,京东不清楚)
最后随便添加几次账号(这样才会打开多个浏览器)然后直接点 2启动浏览器 之后分别的去手动登入每一个账号
感谢成功后前来反馈的网友们!为我们提供了更完整的脚本逻辑!
温馨提示:cookies保存有效时间是有限的,所以尽量在快到时间的时候提前个20-10分钟重新的去登入账号获取cookies
常见问题解决办法:
1.右键管理员权限运行
2.没有google浏览器,或者版本低于86,请自行卸载后下载最新版本(一般一点就崩溃的,基本就是这个原因)
https://www.google.cn/chrome/
3.google浏览器版本版本不对应, 我这里有86 和87版本的插件.可以根据你的浏览器版本来替换
替换这个文件,下面的链接是下载地址.里面有两个版本的,根据你的浏览器来替换,默认的是86的.因为google浏览器更新了,后面我也会换成87的为默认
https://www.lanzoui.com/isdWeiim1ji
演示视频复制后自己访问:
https://www.bilibili.com/video/BV1q54y1z7Fc/
来源
https://www.52pojie.cn/thread-1301790-1-1.html