实现功能:打开电商网站,自动填写用户名、密码并登录。
意义:了解WEB自动化,学习Java操作浏览器。
开发环境:IntelliJ IDEA创建的Maven项目
目录
一、添加依赖
<!--pom.xml-->
<dependencies>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.1.4</version>
</dependency>
</dependencies>
二、Java操作浏览器
public static void doSeckill(){
String url = "https://www.taobao.com/";
//1.打开浏览器
ChromeDriver browser = new ChromeDriver();
Actions actions = new Actions(browser);
//2.输入网址
browser.get(url);
//3.获取相关元素并进行点击或输入的操作
browser.findElement(By.linkText("亲,请登录")).click();
//打开登录页面后,为了避免加载未完成而获取不到元素,延迟1秒再继续,视网速决定
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
//输入用户名
browser.findElement(By.xpath(
"//div[@class=\"input-plain-wrap input-wrap-loginid \"]/input[@id=\"fm-login-id\"]"))
.sendKeys("username");
//输入密码
browser.findElement(By.xpath(
"//div[@class=\"input-plain-wrap input-wrap-password\"]/input[@id=\"fm-login-password\"]"))
.sendKeys("password");
}
三、实现定时运行
public static void main(String[] args) throws Exception {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSSSSSSSS");
//指定时间运行
Date date = sdf.parse("2022-05-29 10:00:00 000000000");
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
doSeckill();
System.out.println("\n"+new Date());
}
},date);
}