java之web自动化环境搭建
环境搭建:
一、Selenium安装
pip install selenium
可使用以下命令查看是否安装成功:
pip show selenium
二、谷歌浏览器安装
如果能打开官网下载最好:https://www.google.cn/chrome/
如果不能,推荐一个网址:https://liulanqi.lanzous.com/iBdUJfh7zod
下载正式版/稳定版,然后安装即可,安装路径使用默认的。
三、谷歌驱动安装,安装 chromedriver
谷歌浏览器右上角三个点,帮助,关于,查看谷歌浏览器版本
chromedriver下载
http://npm.taobao.org/mirrors/chromedriver/
找到自己对应的版本并下载,如果有多个版本的话,最大的版本号相同即可,可以选择最新的。比如 86.1 86.2 86.3,我们可以选择 86.3
下载完成后解压,得到 chromedriver.exe,将其放入 Python 安装路径下的Scripts目录。接下来我们运行一个小的案例
运行以上脚本,最终打开百度网址搜索 123 ,证明运行成功。
以上,windows 系统下的 selenium 环境安装就完成了。
pom.xml文件中需要添加selenium依赖
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <version.maven.compiler>2.3.2</version.maven.compiler> <version.maven.surefire>2.12</version.maven.surefire> <java.version>1.8</java.version> <junit.version>5.1.1</junit.version> <aspectj.version>1.8.10</aspectj.version> <selenium.verson>3.0.0</selenium.verson> </properties> <dependencies> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-api</artifactId> <version>${selenium.verson}</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-chrome-driver</artifactId> <version>${selenium.verson}</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-firefox-driver</artifactId> <version>${selenium.verson}</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-ie-driver</artifactId> <version>${selenium.verson}</version> </dependency> <dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>${selenium.verson}</version> </dependency> </dependencies>
一些页面操作方法
package com.web_java01; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.Point; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import java.awt.*; public class web_test01 { @Parameters(value = {"browserType"}) @Test public void test(String browserType) throws InterruptedException { System.out.println("浏览器为:"+browserType); //浏览器为:filefox // 指定浏览器驱动路径 System.setProperty ( "webdriver.chrome.driver", "driver\\chromedriver.exe" ); WebDriver driver = new ChromeDriver(); //访问百度 driver.get("http://www.baidu.com"); //窗口最大化 WebDriver.Window window = driver.manage().window(); window.maximize(); //获取窗口高度与宽度 System.out.println("高度:"+window.getSize().height+",宽度:"+window.getSize().width); //根据坐标,窗口显示在指定的位置 window.setPosition(new Point(200,500)); Thread.sleep(2000); //设置窗口的大小 window.setSize(new Dimension(200,600)); //输入123 driver.findElement(By.id("kw")).sendKeys("123"); //百度搜索一下 driver.findElement(By.id("su")).click(); //设置强等待 Thread.sleep(3000); //关闭浏览器 driver.quit(); } }
还有导航栏,刷新等操作方法
package com.web_java01; import org.openqa.selenium.By; import org.openqa.selenium.Dimension; import org.openqa.selenium.Point; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import java.awt.*; public class web_test02 { @Parameters(value = {"browserType"}) @Test public void test(String browserType) throws InterruptedException { System.out.println("浏览器为:"+browserType); //浏览器为:filefox // 指定浏览器驱动路径 System.setProperty ( "webdriver.chrome.driver", "driver\\chromedriver.exe" ); WebDriver driver = new ChromeDriver(); //访问百度 driver.get("http://www.baidu.com"); //输入123 driver.findElement(By.id("kw")).sendKeys("123"); //百度搜索一下 driver.findElement(By.id("su")).click(); //再访问外卖网站 driver.get("http://121.41.14.39:8082/shop/index.html#/login"); //再进行导航栏后退操作 driver.navigate().back(); Thread.sleep(1000); //再进行导航栏前进操作 driver.navigate().forward(); //设置强等待 Thread.sleep(3000); //刷新当前页面 driver.navigate().refresh(); //关闭浏览器 driver.quit(); } }