新建maven项目
这里使用的jdk版本为1.8
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.12.0</version>
</dependency>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.9</version>
</dependency>
创建一个类,并添加main方法
public static void main(String[] args) {
// 1. 加载驱动
System.setProperty("webdriver.chrome.driver", "C:\\Users\\MI\\Desktop\\chromedriver-win64\\chromedriver.exe");
// 2. 打开浏览器,并设置要访问的地址
ChromeOptions options = new ChromeOptions();
// 取消 chrome 正收到自动测试软件的控制的信息栏
options.setExperimentalOption("excludeSwitches", new String[]{"enable-automation"});
// 等待策略
options.setPageLoadStrategy(PageLoadStrategy.NORMAL);
// 实例化一个携带参数的浏览器
ChromeDriver chromeDriver = new ChromeDriver(options);
chromeDriver.get("http://192.168.6.3:8111");
// 窗口最大化
chromeDriver.manage().window().maximize();
// 获取当前地址
String currentUrl = chromeDriver.getCurrentUrl();
// 获取当前title
String title = chromeDriver.getTitle();
// 获取源码
String pageSource = chromeDriver.getPageSource();
// 获取网页内容
// 查找到元素并赋值
chromeDriver.findElement(By.id("username")).sendKeys("xxx");
chromeDriver.findElement(By.id("password")).sendKeys("000000");
// 查找到登录按钮,并触发点击事件
chromeDriver.findElement(By.id("loginbtn")).click();
// 验证是否登录成功!
currentUrl = chromeDriver.getCurrentUrl();
if (currentUrl.contains("/main")) {
System.out.println("登录成功!已跳转到 main");
}
// 3. 等待
// 3.1 硬性等待(不推荐)
// try {
// // // 会一直等到设置的睡眠时间结束,造成时间浪费,一般调试用
// TimeUnit.SECONDS.sleep(10);
// } catch (InterruptedException e) {
// throw new RuntimeException(e);
// }
// 3.2 隐式等待
// chromeDriver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
//
// 3.3 显示等待
// WebDriverWait webDriverWait = new WebDriverWait(chromeDriver, Duration.ofSeconds(10));
// webDriverWait.until(ExpectedConditions.elementToBeClickable(By.xpath("//a[text()='官方']"))).click();
// 关闭浏览器
chromeDriver.quit();
}