使用Java基于selenium实现淘宝秒杀自动化

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

前言

无意在论坛刷到了基于Python实现淘宝秒杀的小demo,觉得挺有意思的,就用Python写了一下

# 淘宝清空购物车装置
import time

# 新版的selenium和老版的有区别,坑死我了
from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()

ShoppingTime = "19:00"

# 先登录
driver.get("https://login.taobao.com/member/login.jhtml?f=top&redirectURL=http%3A%2F%2Fwww.taobao.com%2F/")
time.sleep(15)

# 进入购物车
driver.get("https://cart.taobao.com/cart.htm?from=mini&ad_id=&am_id=&cm_id=&pm_id=1501036000a02c5c3739")

time.sleep(2)
# 选中全选
all = driver.find_element(By.XPATH,'/html/body/div[1]/div[3]/div/div/div[2]/div[1]/div/div['
                              '1]/div/div/label')
if all :
    all.click()

time.sleep(1)
buy = driver.find_element(By.XPATH,'/html/body/div[1]/div[3]/div/div/div[4]/div[2]/div[3]/div[5]/a')

后来写时间判断的时候发现时间格式要转来转去的,Python是真的不熟,想到openqa好像也有selenium,就试一下用Java去写,简单搜了一下用Java写这个的真不多,自己折腾一下咯,不过涉及到爬虫还是推荐用Python去当主语言写,库多教程也多,少走弯路。

第一步 安装ChromeDriver

默认大家都用Chrome咯,下载地址:

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

因为我是mac环境,下好chromedriver之后直接拷贝在/usr/local/bin下就行啦
使用Java基于selenium实现淘宝秒杀自动化
拷贝的时候注意需要管理员权限,按个指纹就完了
也可以放在其他位置,写Java的时候用代码配一下就行

        System.setProperty("webdriver.chrome.driver", "/Users/beamstark/Desktop/chromedriver");

第二步 导包

默认大家都用Maven

  <!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java -->
        <dependency>
            <groupId>org.seleniumhq.selenium</groupId>
            <artifactId>selenium-java</artifactId>
            <version>3.14.0</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/com.google.guava/guava -->
        <dependency>
            <groupId>com.google.guava</groupId>
            <artifactId>guava</artifactId>
            <version>27.0-jre</version>
        </dependency>

第三步 测试

还是Java顺手,简单写个demo试一下

package com;

import org.openqa.selenium.chrome.ChromeDriver;

/**
 * @author BeamStark
 * @date 2022-10-08-08:58
 */
public class TEST {
    public static void main(String[] args) {
        ChromeDriver chromeDriver = new ChromeDriver();
        chromeDriver.get("https://www.baidu.com");
        chromeDriver.findElementById("kw").sendKeys("啦啦啦");
        chromeDriver.findElementById("su").click();
    }
}

点击运行
使用Java基于selenium实现淘宝秒杀自动化
bingo~
但是这个时候控制台会报错(无伤大雅)
使用Java基于selenium实现淘宝秒杀自动化
说的好像是不安全之类的,只能本地运行,mac的权限始终没有搞明白 :(
使用Java基于selenium实现淘宝秒杀自动化

第四步 用代码帮我们买东西

package com;

import lombok.extern.slf4j.Slf4j;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

/**
 * 用Java实现淘宝秒杀自动化
 * @author BeamStark
 * @date 2022-10-08-08:58
 */
@Slf4j
public class WhereIsMyMoney {
    private static String ShoppingTime = "2022-10-09 04:02:00";

    public static void main(String[] args) throws InterruptedException {
        log.info("开始时间:" + LocalDateTime.now());
//        初始化驱动
        ChromeDriver chromeDriver = new ChromeDriver();
//        初始化等待时间
        WebDriverWait wait15s = new WebDriverWait(chromeDriver,15000);
        WebDriverWait wait1s = new WebDriverWait(chromeDriver,1000);
//        先登录
        chromeDriver.get("https://login.taobao.com/member/login" +
                ".jhtml?f=top&redirectURL=http%3A%2F%2Fwww.taobao.com%2F/");
        chromeDriver.findElementByXPath("/html/body/div/div[2]/div[3]/div/div/div/div[1]/i").click();
        log.info("等待登录");
//        进入购物车
        wait15s.until(ExpectedConditions.presenceOfElementLocated(By.xpath("/html/body/div[1]/div[1" +
                "]/div/ul[2]/li[3]/div[1]/a/span[2]"))).click();
//        选中购物车的第一个
        wait1s.until(ExpectedConditions.presenceOfElementLocated(By.xpath("/html/body/div[1]/div[3]/div/div/div[2]/div[2]/div[1" +
                "]/div/div[1]/div/div/label"))).click();
        log.info("选中,等待下单");
        Thread.sleep(500);
//        等待下单
        while (true) {
            if (LocalDateTime.now().isAfter(LocalDateTime.parse(ShoppingTime,
                    DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")))) {
//              结算!
                chromeDriver.findElementByClassName("submit-btn").click();
                log.info("结算");
//              锁单
                wait1s.until(ExpectedConditions.presenceOfElementLocated(By.xpath("/html/body/div[1" +
                        "]/div[3]/div/div[1]/div[1]/div/div[9]/div/div/a[2]"))).click();
                log.info("锁单");
                System.out.println("下单成功,去支付吧! 完成时间:" + LocalDateTime.now());
                break;
            }
        }
//      5秒后关闭
        Thread.sleep(5000);
        chromeDriver.quit();
    }
}

使用Java基于selenium实现淘宝秒杀自动化
三次连续测试通过
测试用时平均值0.8s左右(与网速和页面响应速度有关,以Chrome内核为准,没测过其他浏览器内核),反正比手动快多了就是了而且也不费心,该打游戏打游戏该刷剧刷剧,就挂着呗~

写在后面

感谢大家看到这里:》

此程序没有设置给你付款的代码,只会帮你锁单(给你留有后悔的余地),请大家合理消费
~洗洗睡啦 : )

参考文章:https://blog.csdn.net/chenjxj123/article/details/121802904文章来源地址https://www.toymoban.com/news/detail-410000.html

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

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

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

相关文章

  • selenium浏览器自动化测试【基于java】

    Selenium 是一个用于Web应用程序的自动化测试工具。它直接运行在浏览器中,可以模拟用户在浏览器上面的行为操作。 chrome.exe 默认安装位置:C:Program FilesGoogleChromeApplicationchrome.exe 结果我的在:C:Users91073AppDataLocalGoogleChromeApplicationchrome.exe 。。。为啥? 下载驱动 最新

    2024年02月04日
    浏览(52)
  • 基于Java+Selenium的WebUI自动化测试框架(一)---页面元素定位器

     🔥 交流讨论: 欢迎加入我们一起学习! 🔥 资源分享 : 耗时200+小时精选的「软件测试」资料包 🔥  教程推荐: 火遍全网的《软件测试》教程   📢 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 对于自动化测试,尤其是UI的自动化测试。是很多做黑盒功能测试的同

    2024年03月17日
    浏览(67)
  • 基于python实现Web自动化测试(selenium)、API自动化测试(requests)&附学习视频

    另一篇文章 :自动化测试框架(pytest)附学习视频 学习视频,学习文档-白月黑羽 说明: 1紧跟着写的不加/,不加空格-表示同一级别信息,加空格表示后代 2.css定位tag,id,class时分别有不同的标识,其他属性都要加[]进行搜索, Xpath所有属性都要都加【】,tag不用 3. css在使用ta

    2024年02月03日
    浏览(108)
  • 如何使用 Selenium 实现自动化操作?

    本篇咱们来谈谈Selenium自动化脚本是如何工作的,以及如何实现一个简单的自动化示例; 一、关于Selenium 1.1、为什么选择它作为web自动化的测试工具? 选择Selenium作为web自动化测试工具的原因(面试也许会问): 1. 开源免费; 2. 支持多浏览器,如Chrome、 Firefox、IE浏览器等;

    2024年02月02日
    浏览(44)
  • selenium自动化教程及使用java来爬取数据

    selenium 是一个用于自动化测试 Web 应用的工具集 ,它可以模拟用户自动去浏览器网页上进行点击、输入、选择下拉值复选框、鼠标移动、任意 JavaScript 执行等等操作。 selenium 有三个产品: Selenium WebDriver:基于浏览器的回归自动化套件和测试,你可以使用 Java、Python、JavaScri

    2024年02月10日
    浏览(76)
  • chatgpt赋能python:Python抢商品:自动化实现秒杀购物的利器

    随着互联网和电商的高度融合,电商平台受到越来越多的用户关注和青睐。在线购物已成为人们日常生活中必不可少的一部分,不管是网购小白还是技术大牛,都喜欢在各种平台上刷到想要的商品。但往往受到“秒杀”、“售罄”等各种限制,想要抢到理想商品并非易事。随

    2024年02月09日
    浏览(96)
  • java + Selenium 实现自动化测试,模拟人手点击操作 chrome 浏览器

    引入 maven 依赖: 安装 chromeDriver:略 SeleniumUtils.java: ChromeDriverUtils.java: 使用示例:

    2024年02月11日
    浏览(60)
  • 使用Python+selenium实现第一个自动化测试脚本

    这篇文章主要介绍了使用Python+selenium实现第一个自动化测试脚本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 最近在学web自动化,记录一下学习过程。 此处我选用python3.6+selenium3.0,均用

    2024年02月03日
    浏览(60)
  • Python Selenium实现自动化测试及Chrome驱动使用!

    本文将介绍如何使用Python Selenium库实现自动化测试,并详细记录了Chrome驱动的使用方法。 通过本文的指导,读者将能够快速上手使用Python Selenium进行自动化测试。 并了解如何配置和使用Chrome驱动来实现更高效的自动化测试。 一、Python Selenium简介 Python Selenium是一个用于Web应用

    2024年03月10日
    浏览(69)
  • Python Selenium实现自动化测试及Chrome驱动使用

    本文将介绍如何使用 Python   Selenium 库实现 自动化测试 ,并详细 记录 了Chrome驱动的使用方法。 通过本文的指导,读者将能够快速上手使用Python Selenium进行自动化测试。 并了解如何配置和使用Chrome驱动来实现更高效的自动化测试。 一、Python Selenium简介 Python Selenium是一个用于

    2024年02月03日
    浏览(62)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包