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)


相关推荐

  • python画爱心代码大全_python爱心代码制作

    python画爱心代码大全_python爱心代码制作程序员在爱情方式上表达上展现的多种多样,其中现在大火的用编程去编写个表白内容,最受欢迎了,今天小编也尝试了下,一起来看看吧~准备工具:python3画爱心实施步骤:打开编译器,写上code,代码如下:fromturtleimport*pensize(1)pencolor(‘red’)fillcolor(‘pink’)speed(5)up()goto(-30,100)down()begin_f…

  • MATLAB 2017b 安装教程 (推荐)

    MATLAB 2017b 安装教程 (推荐)MATLAB2017b安装教程matlab2017b安装包及安装教程链接:https://pan.baidu.com/s/1riEvbTQnDSeo7bhix7YLZQ密码:z4em本Markdown编辑器使用[Sta**重点内容**ckEdit][6]修改而来,用它写博客,将会带来全新的体验哦:Matlab安装教程:1、下载文件,得到破解文件。*点…

  • 零基础如何学习PLC

    零基础如何学习PLC很多人在学习PLC之前都做过推销员、维修工、电工或出租车司机。很多新手转PLC的时候肯定会问这个问题:学习PLC的基础是什么?如何学习PLC编程入门?这个社会基础教育问题问的好,说明你对于学生学习这件事我们还是有常识的,基础发展起到一个铺垫、承前启后的作用,把这方面可以搞定了,你会比那些不在乎这些基础而直接进行强攻PLC的人要事半功倍的多。下面就来说说正事学习plc,首先必须有电工基础,了解一些低压电器及其控制技术,这是学习plc必备的基础知识。.原因:面对新机器,首先要了解硬件结

    2022年10月18日
  • io流怎么用_io流java

    io流怎么用_io流java相信大家都能体会到,io流用到的地方很多,就比如上传下载,传输,设计模式等….基础打扎实了,才能玩更高端的。在博主认为真正懂IO流的优秀程序员每次在使用IO流之前都会明确分析如下四点:>(1)明确要操作的数据是数据源还是数据目的(也就是要读还是要写)(2)明确要操作的设备上的数据是字节还是文本(3)明确数据所在的具体设备(4)明确是否需要额外功能(比如是否需要转换流、高效流等)

    2022年10月20日
  • python修改第三方库重写_对Python第三方库,再次封装

    python修改第三方库重写_对Python第三方库,再次封装一、为何再次封装?Python一大优势是有丰富的第三方包。可以站在牛人的肩膀上,让编程更简单,功能实现更快,也更完善。但有包还不够,因为包是通用的,普遍的。包含基本功能,或为了普遍性,而给了很多选项。用起来不顺手,或不够简洁。为了更进一步提高效率,就要再次封装。就是依据具体需求,将包重新写,做个性化处理。让工具更顺手,更方便。二、举例比如在U2中,有多种方法查找元素。通过text,describt…

    2022年10月14日
  • Java练习:用Java语言编写九九乘法表[通俗易懂]

    Java练习:用Java语言编写九九乘法表[通俗易懂]//java程序编写九九乘法表:下三角publicclassTest1{ publicstaticvoidmain(String[]args){ for(inti=1;i<=9;i++){ for(intj=1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+""); } System.o…

发表回复

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

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