大家好,又见面了,我是你们的朋友全栈君。
JAVA Selenium2—淘宝秒杀购物车脚本
- 前言
- 准备
- 代码
- 注
前言
对于自己近期学习的归纳与应用,只是个简单的线性脚本。 之前学习了selenium,发现csdn上大都是python selenium,故参考后改成java selenium,另外把读取本地时间改成了读取网站时间,更为精确。
准备
JAVA环境,Selenium-2.46.0 jar包,火狐浏览器固定版本(自用的可能是32.0) jar包与火狐浏览器安装包 链接 ,提取码: ybsf
代码
代码语言:javascript复制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:TbFlashlib) cd D:TbFlashsrccomTest javac -classpath .;D:TbFlashlib* Runner.java java -classpath .;D:TbFlashlib* Runner.java
- 使用CMD运行jar: java -jar *.jar
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140908.html原文链接:https://javaforall.cn