selenium-java实现自动登录跳转页面方式
作者:smileNicky
利用Selenium和Java语言可以编写一个脚本自动刷新网页,首先,需要确保Google浏览器和Chrome-Driver驱动的版本一致,通过指定网站下载对应版本的浏览器和驱动,在Maven项目中添加依赖,编写脚本实现网页的自动刷新,此方法适用于需要频繁刷新网页的场景,简化了操作,提高了效率
如果要一直刷新一个网页,总不能人工一直去点,所以想到大学时候学过selenium技术,写个脚本来一直刷新,因为经常写java语言,所以选用java语言来写
实验环境
注意,需要先准备好Google浏览器和Chrome-Driver
驱动程序,版本要大致一样,不能相差太大
- Chrome版本:104.0.5112.81_chrome64_stable_window
- Chrome-Driver版本:104.0.5112.79 32位
搭建环境
访问https://www.chromedownloads.net/chrome64win/,下载一个谷歌浏览器
访问https://registry.npmmirror.com/binary.html?path=chromedriver/,找到和谷歌浏览器对应的版本,版本不能相差太大
解压后,找个地方放一下chromedriver.exe
新建一个项目,在Maven的pom.xml
文件里加上配置
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>3.141.59</version> </dependency>
编写脚本
写个脚本实现自动刷新网页页面
@Test public void testAutoRefresh() { String reqUrl = "http://127.0.0.1:8080/login"; String targetUrl = "http://127.0.0.1:8080/index"; System.setProperty("webdriver.chrome.driver", "D:\\chromedriver_win32\\chromedriver.exe");// chromedriver服务地址 ChromeDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.get(reqUrl); driver.findElement(By.id("username")).sendKeys("admin"); // 用户名输入框 driver.findElement(By.id("password")).sendKeys("admin"); // 密码输入框 driver.findElement(By.id("but_submit")).click(); // 登录按钮 boolean isLoggedIn = driver.findElement(By.id("but_submit")).isDisplayed(); if (isLoggedIn) { System.out.println("登录成功"); driver.navigate().to(targetUrl ); //driver.get(reqUrl); for (int i = 0; i < 100; i++) { Thread.sleep(100); // 刷新网页 driver.navigate().refresh(); } System.out.println("刷新成功"); } }
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。