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
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

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

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 十天学会php第五天

    十天学会php第五天

    2022年1月11日
  • sublime 4113 激活码【最新永久激活】

    (sublime 4113 激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html0UY7RF7AC5-eyJsaWNlbnNlSWQi…

    2022年3月28日
  • tga文件解析「建议收藏」

    Tga常见的格式有非压缩RGB和压缩RGB两种格式,文件的第三个Byte位作为标记:2为非压缩RGB格式,10为压缩RGB格式。这里的类只实现读取非压缩格式的tga文件。先给出tga文件的文件格式:名称偏移长度说明图像信息字段长度01本字段是1字节无符号整型,指出图像信息字段

    2022年4月6日
  • Java课设–学生成绩管理系统一

    Java课设–学生成绩管理系统一写在前面这个项目是Java课程的课设,一共花了5天的时间去完成它,在这期间感谢一些博主的帮助,让我了解到了一些新的技术知识,所以打算写这一系列博客来介绍一整个课设项目,也为了帮助之后的人,如有错误,请联系我。为了更好的让读者了解到整个项目的设计流程,我将项目拆分成几个部分来就行解说,这一小节是一个总述,主要介绍课设的整个框架和最终效果,代码我会放到后面的github链接上,欢迎大家star。如果有一些参考没有加上联系,希望大家可以联系我,因为写的时候查的比较快,没有记录到博主的链接,敬请谅解!!!一、

    2022年7月8日
  • 软件测试流程规范简介(不同公司流程规范不一样,仅供参考)「建议收藏」

    软件测试流程规范简介(不同公司流程规范不一样,仅供参考)「建议收藏」前言:整理了一下软件测试流程规范简洁,仅供参考!一、流程图概述二、测试启动阶段(需求分析)参与软件需求评审、技术评审,以测试的角度分析需求的可测性,可构思将来对测试进行的方法、原则等。更重要的是对不可测或难以测试性问题要及时与产品经理、项目经理、研发人员协调解决。全面了解需求,从用户角度考虑软件测试需要达到的验证的状态,即哪些功能需要重点测试,哪些则无需,以便将来制定测试计划。测试人员参与项目晨会,明确需求及任务完成进度及时间节点,研发人员需向测试人员提供外部应用及使用说明(如Redis、RMQ

    2022年6月5日
  • Pycharm设置自动代码提示(超详细)

    Pycharm设置自动代码提示(超详细)【前言】最近在使用pycharm这款编译器的时候,发现在学习python过程中没有代码提示就很烦,所以网上收集资料加上自身的实践总结出以下方法如何在pycharm中设置代码提示。【步骤一】起初看到网上很多教程都是这样点击File然后将PowerSaveMode旁边的√去掉就可以,实际上确实是这样的,当我们敲代码的时候比如import就会有自动提示。【注意】但是可能有些小伙伴按照这样的提示可是还是不显示代码自动提示,为什么会这样呢,原因是你的Python环境没有配置好,我们按照下面

    2022年8月25日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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