机器操控浏览器,再也无法识别是真人,还是机器人, 自动登入CSDN
Java+Selenium+chromedriver.exe+谷歌浏览器
依赖
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.oo</groupId>
<artifactId>Testing</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>27.1-jre</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-firefox-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-api</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>3.141.59</version>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi</artifactId>
<version>3.17-beta1</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>3.17-beta1</version>
</dependency>
</dependencies>
</project>
package work.superstr.selenium;
import java.util.List;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
public class First {
public static void main(String[]args)
{
// 设置chromedriver路径
//System.setProperty("webdriver.chrome.driver","C:/Program Files (x86)/Google/Chrome/Application/chromedriver.exe");
//System.setProperty("webdriver.chrome.driver","E:/file/chromedriver.exe");
//我当前的浏览器版本73.0.3683.86
//chromedriver.exe 下载地址 http://chromedriver.storage.googleapis.com/index.html?path=73.0.3683.68/
System.setProperty("webdriver.chrome.driver","E:/log/chromedriver.exe");
ChromeOptions options = new ChromeOptions();
// 设置chrome启动时size大小
options.addArguments("--window-size=1980,1000");
// 根据ChromeOptions实例化ChromeDriver
WebDriver driver = new ChromeDriver(options);
try {
driver.get("https://passport.csdn.net/login");
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
List<WebElement> list = driver.findElement(By.className("main-select")).findElements(By.tagName("a"));
//选择登入方式
list.get(1).click();//账号登入
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
//输入用户名和密码
driver.findElement(By.id("all")).sendKeys("phone13144830339");//用户名
driver.findElement(By.id("password-number")).sendKeys("******");//密码
//点击提交
driver.findElement(By.cssSelector(".form-submit")).click();
Thread.sleep(2000);
} catch (Exception e) {
e.printStackTrace();
} finally {
// 关闭浏览器
//driver.quit();
}
}
}