2025年JAVA+Selenium2—淘宝秒杀购物车脚本

JAVA+Selenium2—淘宝秒杀购物车脚本JAVA Selenium2 淘宝秒杀购物车脚本 前言 准备 代码 注 前言 对于自己近期学习的归纳与应用 只是个简单的线性脚本 之前学习了 selenium 发现 csdn 上大都是 python selenium 故参考后改成 java selenium 另外把读取本地时间改成了读取网站时间 更为精确 准备 JAVA 环境 Selenium 2 46 0 jar 包

JAVA+Selenium2—淘宝秒杀购物车脚本

前言

准备

代码

前言

对于自己近期学习的归纳与应用,只是个简单的线性脚本。
之前学习了selenium,发现csdn上大都是python+selenium,故参考后改成java+selenium,另外把读取本地时间改成了读取网站时间,更为精确。

准备

JAVA环境,Selenium-2.46.0 jar包,火狐浏览器固定版本(自用的可能是32.0)
jar包与火狐浏览器安装包 链接 ,提取码: ybsf

代码

package com.Test;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebDriver.Navigation;
import org.openqa.selenium.WebDriver.Window;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Runner {

public static void main(String[] args) {

String taoBao = "https://www.taobao.com";
WebDriver webDriver = new FirefoxDriver();
Navigation navigation = webDriver.navigate();
navigation.to(taoBao);
Window window = webDriver.manage().window();
window.maximize();
try {

Thread.sleep(1000);
webDriver.findElement(By.linkText("亲,请登录")).click();
Thread.sleep(1000);
webDriver.findElement(By.linkText("密码登录")).click();
Thread.sleep(1000);
webDriver.findElement(By.className("weibo-login")).click();
Thread.sleep(1000);
webDriver.findElement(By.name("username")).sendKeys("********");//****你的账号
Thread.sleep(1000);
webDriver.findElement(By.name("password")).sendKeys("********");//****你的密码
Thread.sleep(1000);
webDriver.findElement(By.linkText("登录")).click();
Thread.sleep(15000);
navigation.to("https://cart.taobao.com/cart.htm");
Thread.sleep(1000);
webDriver.findElement(By.id("J_SelectAll1")).click();
Thread.sleep(3000);
while(true) {

URL url = new URL(taoBao);// 取得资源对象
URLConnection uc = url.openConnection();// 生成连接对象
uc.connect();// 发出连接
long ld = uc.getDate();// 读取网站日期时间
Date dateNow = new Date(ld);// 转换为标准时间对象

SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd-HH:mm:ss");
String buyTime = "2020/01/01-00:00:00";
Date dateNeed = sdf.parse(buyTime);
if(dateNeed.equals(dateNow)||dateNeed.before(dateNow)) {

webDriver.findElement(By.linkText("结 算")).click();
System.out.println(sdf.format(dateNow));

webDriver.findElement(By.linkText("提交订单")).click();

break;
}
}
} catch (InterruptedException e) {

// TODO Auto-generated catch block
e.printStackTrace();
} catch (ParseException e) {

// TODO Auto-generated catch block
e.printStackTrace();
} catch (MalformedURLException e) {

// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {

// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

因为淘宝登录需要滑动验证码,故这里使用微博账号绑定登录淘宝账号绕过验证。

关于如何使用CMD运行使用了第三方jar包的java程序:
将第三方jar包放在自创的bin目录中(D:\TbFlash\lib)
cd D:\TbFlash\src\com\Test
javac -classpath .;D:\TbFlash\lib* Runner.java
java -classpath .;D:\TbFlash\lib* Runner.java

使用CMD运行jar:
java -jar *.jar

编程小号
上一篇 2025-01-27 09:17
下一篇 2025-01-28 12:21

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/hz/110049.html