python-selenium淘宝自动化购买

这篇具有很好参考价值的文章主要介绍了python-selenium淘宝自动化购买。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

淘宝自动化下单脚本

import time

from selenium import webdriver
from selenium.webdriver.common.by import By

from gettime import tbtime # 获取淘宝时间戳


'''以下两行代码解决支付宝支付页面对webdriver的检测'''
options = webdriver.ChromeOptions()
options.add_argument("disable-blink-features=AutomationControlled")


class TcBao(object): # 创建类
    def __init__(self):
        self.buy_time = 1686830400 #购买时间戳
        self.browser = webdriver.Chrome(options=options) #过检测
        self.diff_jiesuan = -5 #点击结算按钮时间差
        self.diff_tijiao = 0.05 # 提交订单时间差

    def get_login(self): 
        self.browser.get("https://www.taobao.com")
        time.sleep(2)
        self.browser.find_element(By.LINK_TEXT, "亲,请登录").click()
        print(f"请尽快扫码登录")

    def refresh(self):
        self.browser.get("https://cart.taobao.com/cart.htm")
        while True:
            if self.buy_time - tbtime.get_time() > 80: # 现在时间与购买时间相差大于80秒就刷新购物车
                self.browser.get("https://cart.taobao.com/cart.htm")
                time.sleep(50)
            else:
                print("抢购时间点将近,停止刷新,准备抢购...")
                break

    def get_cart_all(self):
        while True:
            try:
                if self.browser.find_element(By.ID, "J_SelectAll1"):
                    self.browser.find_element(By.ID, "J_SelectAll1").click()
                    print("已经选中全部商品")
                    break
            except:
                print("未点击购物车全选")

    def settlement(self):
        while True:
            if tbtime.get_time() - self.buy_time >= self.diff_jiesuan:
                try:
                    self.browser.find_element(By.LINK_TEXT, "结 算").click()
                    self.time_jiesuan = tbtime.get_time()
                    print("结算点击成功")
                    break
                except:
                    None

    def submit(self):
        while True:
            if tbtime.get_time() - self.buy_time >= self.diff_tijiao:
                try:
                    self.browser.find_element(By.LINK_TEXT, '提交订单').click()
                    self.time_tijiao = tbtime.get_time()
                    print("订单提交成功")
                    break
                except:
                    None

    def run(self):
        self.get_login()
        while True:
            Ok = int(input('登录完成后请输入1:'))
            if Ok == 1:
                self.refresh()
                self.get_cart_all()
                self.settlement()
                self.submit()
                print(self.time_jiesuan)
                print(self.time_tijiao)
                break
        input("按任意键退出")



if __name__ == '__main__':
    tb = TcBao()
    tb.run()

    while True:
        print('def get_login1:')
        print('refresh2')
        print('get_cart_all3')
        print('settlement4')
        print('submit5')
        n = int(input('input number:'))
        if n == 1:
            tb.get_login()
        if n == 2:
            tb.refresh()
        if n == 3:
            tb.get_cart_all()
        if n == 4:
            tb.settlement()
            print(tb.time_jiesuan)
        if n == 5:
            tb.submit()
            print(tb.time_tijiao)

    • 其中使用的tbtime包
# -*- coding:utf-8 -*-
# 获取淘宝时间戳
import json
import time
import requests

url1 = 'http://acs.m.taobao.com/gw/mtop.common.getTimestamp/'
url2 = 'http://api.m.taobao.com/rest/api3.do?api=mtop.common.getTimestamp'
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.43'
}
def get_time():
    get_data = requests.get(url1, headers=headers)
    data = json.loads(get_data.text)
    time0 = data['data']['t']
    time_1=time0[:10]+"."+time0[10:]
    time_2=float(time_1)
    #time_tb=time.strftime("%H %M %S", time.localtime(time_2))
    return time_2

if __name__ == '__main__':
    a=get_time()
    print(a)

支付页面使用了iframe无法定位密码输入框文章来源地址https://www.toymoban.com/news/detail-765764.html

    • 配合AHK输入支付密码
CoordMode, mouse
F1::
click 100 538
send 0
send 0
send 0
send 0
send 0
send 0
click 110,612
MsgBox, 1, Click Pay , %A_Hour%:%A_Min%:%A_Sec% , 2147483 ;弹出完成时间的窗口

到了这里,关于python-selenium淘宝自动化购买的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用Python自动化测试工具Selenium进行网页自动化?

    Selenium 是一个流行的Web自动化测试框架, 它支持多种编程语言和浏览器,并提供了丰富的API和工具来模拟用户在浏览器中的行为 。 Selenium可以通过代码驱动浏览器自动化测试流程,包括页面导航、元素查找、数据填充、点击操作等。 与PyAutoGUI和AutoIt相比, Selenium更适合于处

    2023年04月09日
    浏览(126)
  • Python + Selenium自动化测试

    一、python 1、python下载与安装 官方下载地址: Python Releases for Windows | Python.org https://www.python.org/downloads/windows/ 下载应用程序,双击运行 选择install now进行安装,下方勾选第二个选项系统可自动添加环境变量   等待python安装  安装完成后,点击“Close”关闭 进入cmd验证是否已完

    2023年04月24日
    浏览(58)
  • python学习-自动化测试Selenium

     自动化测试Selenium Selenium简介 第一个Selenium应用 Selenium Python API Selenium WebDriver Selenium 初始化浏览器 Selenium导航到URL Selenium定位元素 Selenium By类 Selenium WebElement类 Selenium页面交互 Selenium ActionChains Selenium鼠标操作 Selenium键盘操作 Selenium调用JavaScript Selenium等待机制 Selenium expected

    2024年01月18日
    浏览(49)
  • python selenium 自动化登录页面

    2024年02月10日
    浏览(49)
  • Python + selenium 自动化测试框架

    项目自动化测试框架设计为4层 1.基础层(通用层) 基础层: 将通用,重复性比较高的代码封装到这里。 写通用的代码的。 其他3层想要的话,就可以直接调用。 例如: 读取测试数据的代码,读取配置信息的代码;截图的代码的,定位元素的代码等等 2.功能层(页面层) 功

    2023年04月13日
    浏览(46)
  • python爬虫(七)--------selenium自动化

    查找方法(python3.7之前版本) find_element_by_id 根据id属性来定位 find_element_by_name 根据name元素来定位 find_element_by_xpath 根据xpath语法来定位 find_element_by_tag_name 根据标签名来定位 find_element_by_class_name 根据class的名字来定位 find_element_by_css_selector 根据css选择器来定位 以下两种方法都

    2024年01月16日
    浏览(65)
  • 自学Python+Selenium自动化测试

            俗话说的好,书读百遍不如手过一遍,而编程这东西是看书看视频一万遍都不如你自己多敲代码、写脑图、总结分享转换成自己的内容来的实在。         今天我就把最近学的(二) Selenium核心WebDriver API 简单总结一下,方便自己以后找出来看看。         一

    2024年02月05日
    浏览(51)
  • Python Selenium 自动化的笔记

            大部分URL都是https开头,但是遇到http开头的URL的时候,浏览器很可能会把http自动识别成https,导致无法进入正确的URL。使用driver.get()就会经常遇到这种情况,遇到这种情况我使用的方式是让uiautomation输入一遍完整的URL,避免浏览器或者driver.get()函数自动补全http为ht

    2024年02月04日
    浏览(60)
  • Python+Selenium自动化测试详细教程

       Python Selenium是Selenium WebDriver的Python语言封装,为Python开发者提供了一个方便易用的自动化测试库。它支持多种浏览器(如Chrome、Firefox、Edge等)以及多个操作系统,可以模拟用户在浏览器中的各种行为,包括打开网页、查找元素、输入文本、点击链接、提交表单、上传文

    2023年04月18日
    浏览(52)
  • 【Selenium+python】自动化测试登录界面

    前言:已经学习selenium许久了,奈何公司的项目还在码代码中...,感觉自己学的东西快忘的差不多了,所以就找个网站练练手,顺便回顾一下UI自动化的知识,也希望跟我一样的小白有所受益。 用例1: 正确输入手机号和密码,点击登录 期望:有帮助中心字样(系统跳至首页

    2024年02月08日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包