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

JAVA+Selenium2—淘宝秒杀购物车脚本JAVA+Selenium—淘宝清空购物车脚本前言准备代码注前言对于自己近期学习的归纳与应用,只是个简单的线性脚本。之前学习了selenium,发现csdn上大都是python+selenium,故参考后改成java+selenium,另外把读取本地时间改成了读取网站时间,更为精确。准备JAVA环境,Selenium-2.46.0jar包,火狐浏览器固定版本(自用的可能是32.0)j…

大家好,又见面了,我是你们的朋友全栈君。

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();
}
}	
}

  1. 因为淘宝登录需要滑动验证码,故这里使用微博账号绑定登录淘宝账号绕过验证。
  2. 关于如何使用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
  3. 使用CMD运行jar:
    java -jar *.jar
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/140908.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 正版哈希值校验工具_电子证据哈希值校验

    正版哈希值校验工具_电子证据哈希值校验介绍常用的两个:1、Hash1.04特点:小巧方便快速。缺点:需要自己对比校验,不能粘贴哈希值自行校验对错。图片是汉化版的界面,原作者RobinKeir有个自己工具的网站就在软件标题栏的后面:http://keri.net。有兴趣的可以下载英文原版的,网速可能有点慢。2、IHasherv0.2特点:可以自行对比校验对错。缺点:没什么大缺点。看标题栏后面的网址就明白了,是m…

  • Word类报表实例 – 质量检测报告

    Word类报表实例 – 质量检测报告

  • python函数详解_INDEX函数

    python函数详解_INDEX函数前言:一、函数的作用函数就是将一段具有独立功能的代码块整合到一个整体并命名,在需要的位置调用这个名称即可完成对应的需求。函数在开发过程中,可以更高效的实现代码重用。二、函数的使用步骤1.定义函数def函数名(参数):代码1代码2……2.调用函数函数名(参数)注意:不同的需求,参数可有可无。在Python中,函数必须先定义后使用。…

    2022年10月18日
  • java数组反转Reverse

    java数组反转Reverse三种反转数组的方法:publicclassReverseArray{publicvoidreverse(int[]arr){for(inti=0;i

  • python stdout

    python stdoutpythonstdout

  • NO6_no6625

    NO6_no66251、自建yum仓库,分别为网络源和本地源2、编译安装http2.4,实现可以正常访问,并将编译步骤和结果提交。3、创建一个2G的文件系统,块大小为2048byte,预留1%可用空间,文件系统ext4,卷标为TEST,要求此分区开机后自动挂载至/test目录,且默认有acl挂载选项4、创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB,而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录…

    2022年10月22日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号