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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL注入原理及PreparedStatement的使用

    SQL注入原理及PreparedStatement的使用

    2021年8月8日
    58
  • c++语言入门教程–15字符串常见操作

    c++语言入门教程–15字符串常见操作

    2021年3月12日
    134
  • python的学生信息管理系统_学员信息管理系统设计

    python的学生信息管理系统_学员信息管理系统设计一.系统需求使用面向对象编程思想完成学员管理系统的开发,具体如下:系统要求:学员数据存储在文件中系统功能:添加学员、删除学员、修改学员信息、查询学员信息、显示所有学员信息、保存学员信息及退出系统等功能。程序文件如下:程序入口文件:main.py学员文件:student.py管理系统⽂文件:managerSystem.pymain.py#1.导入managerSystem模块frommanagerSystemimport*#2.启动学员管理系统if__name__

    2022年9月20日
    0
  • windows10切换快捷键_Word快捷键大全

    windows10切换快捷键_Word快捷键大全目录第一部分:Windows10系统快捷键复制、粘贴和其他常规快捷键Windows徽标键快捷键命令提示符快捷键对话框快捷键文件资源管理器快捷键虚拟桌面快捷键任务栏快捷键《设置》快捷键第二部分:Windows10应用的快捷键《MicrosoftEdge浏览器》快捷键《计算器》快捷键游戏栏快捷键《Groove》快捷键《地图》快捷键《电影…

    2022年9月29日
    0
  • shell运维脚本实例_100个必会的shell脚本

    shell运维脚本实例_100个必会的shell脚本无论是系统运维,还是应用运维,均可分为“**纯手工”—>“脚本化”—>“自动化”—>“智能化”**几个阶段,其中自动化阶段,主要是将一些重复性人工操作和运维经验封装为程序或脚本,一方面避免重复性操作及风险,另一方面提高执行效率。在自动化运维的转变过程中,经常使用的可能就是shell脚本了。很多人认为shell脚本简单,但其实Shell的小脚本却有大智慧。别小看几十行代码,它夹杂着系统设计、代码规范和操作经验等等细节,在建设自动化运维的工作中,还是很值得我们研究学习的。为了帮助大.

    2022年9月28日
    0
  • 【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]

    【网盘搭建】使用Rclone挂载Google Drive扩容服务器存储,实现网盘无限容量[通俗易懂]一,前言1,Rclone是什么Rclone是一个开源的命令行程序,用于管理云存储上的文件。它是云供应商Web存储界面的功能丰富的替代方案。超过50种云存储产品支持Rclone,包括S3对象存储,GoogleDrive,OneDrive等业务和消费者文件存储服务以及标准传输协议。2,它能用来干嘛可以备份(和加密)文件到云存储。从云存储还原(和解密)文件。将云数据镜像到其他云服务或本地。将数据迁移到云,或在云存储供应商之间迁移。将多个加密的,缓存的或多样化的云存储作为磁盘挂载。3,项目地址Gith

    2022年7月16日
    43

发表回复

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

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