一、创建浏览器对象
//谷歌为例
System.setProperty("webdriver.chrome.driver", "src\\drivers\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
二、设置窗口位置、大小
//设置浏览器窗口位置,相对于屏幕左上角(0,0)的位置
Point point = new Point(100, 100);
driver.manage().window().setPosition(point);
//设置浏览器窗口大小
Dimension dimension = new Dimension(500, 500);
driver.manage().window().setSize(dimension);
//获取浏览器窗口位置
Point position = driver.manage().window().getPosition();
System.out.println(position);
//获取浏览器窗口大小
Dimension size = driver.manage().window().getSize();
System.out.println(size);
//浏览器窗口最大化
driver.manage().window().maximize();
//全屏
driver.manage().window().fullscreen();
三、访问网页操作
//访问网页地址(第一种方式)
driver.get("https://www.hao123.com/");
//访问网页地址(第二种方式)
driver.navigate().to("https://www.baidu.com/");
//网页后退
driver.navigate().back();
//网页前进
driver.navigate().forward();
//刷新网页
driver.navigate().refresh();
四、获取网页信息
//获取当前页面Url
String currentUrl = driver.getCurrentUrl();
System.out.println(currentUrl);
//获取当前页面源码
String pageSource = driver.getPageSource();
System.out.println(pageSource);
//获取当前页面Title
String title = driver.getTitle();
System.out.println(title);
//获取当前窗口句柄
String windowHandle = driver.getWindowHandle();
System.out.println(windowHandle);
//获取当前所有打开窗口的句柄
Set
for (String handle : windowHandles) {
System.out.println(handle);
}
五、切换窗口
driver.switchTo().window("要切换的窗口句柄");
六、截图保存
File fileTo = ((TakesScreenshot) driver).getScreenshotAs(OutputType.FILE);
try {
FileInputStream fileInputStream = new FileInputStream(fileTo);
FileOutputStream fileOutputStream = new FileOutputStream("test.png");
byte[] bytes = new byte[1024];
int len = 0;
while ((len = fileInputStream.read(bytes))!=-1){
fileOutputStream.write(bytes);
};
} catch (IOException e) {
e.printStackTrace();
}
七、关闭窗口
//杀掉浏览器进程-谷歌为例(注意:此方法杀掉了所有谷歌进程,包括自己打开的和程序打开的)
WindowsUtils.killByName("chrome.exe");
//关闭当前窗口,如果仅剩一个窗口,则退出浏览器
driver.close();
//退出浏览器
driver.quit();
八、元素定位
1.使用ID定位
WebElement webElement = driver.findElement(By.id("ID值"));
2.使用name定位
WebElement webElement = driver.findElement(By.name("name值"));
List
3.使用链接的全部文字定位
WebElement webElement = driver.findElement(By.linkText("链接的全部文字内容"));
List
4.使用部分链接的文字定位
WebElement webElement = driver.findElement(By.partialLinkText("链接的部分文字内容"));
List
5.使用标签名称定位
WebElement webElement = driver.findElement(By.tagName("页面中的HTML标签名称"));
List
6.使用Class名称定位
WebElement webElement = driver.findElement(By.className("页面中的Class属性值"));
List
7.使用XPath方式定位
WebElement webElement = driver.findElement(By.xpath("XPath定位表达式"));
List
8.使用CSS定位
WebElement webElement = driver.findElement(By.cssSelector("CSS定位表达式"));
List
9.使用jQuery方式定位,先将driver转换为JavascriptExecutor对象,再调用jQuery的find方法查找页面元素,返回List对象
JavascriptExecutor js = (JavascriptExecutor) driver;
List
(List
九、元素操作
WebElement element= driver.findElement(By.id("id值"));
1.清空输入框
element.clear();
2.输入框输入文字
element.sendKeys("Selenium");
3.点击元素
element.click();
4.获取标签名称
String tagName = element.getTagName();
5.获取属性值
String id = element.getAttribute("id");
6.获取CSS属性值
String width = element.getCssValue("width");
7.获取元素是否可见
boolean displayed = element.isDisplayed();
8.获取元素是否可点击
boolean enabled = element.isEnabled();
9.获取元素是否被选中
boolean selected = element.isSelected();
持续更新中...
参考链接
发表评论