1.定位一组元素
Webdriver 可以很方便的使用findElement 方法来定位某个特定的对象,不过有时候我们却需要定位一组对象,这时候就需要使用findElements 方法。
getATtritube:获取属性值
例子:复选框和单选框,我们选中点击所有的复选框
List<WebElement> webElements=webDriver.findElements(By.cssSelector("input"));
for (int i = 0; i < webElements.size(); i++) {
if(webElements.get(i).getAttribute("type").equals("checkbox")) {
webElements.get(i).click();
}else{
}
}
2.多层框架/窗口定位
当我们直接选择frame里面的元素时,直接查找是找不到的,这时我们需要切换定位的主体
运用switchTo.frame, switchTo.window
webDriver.switchTo().frame("f1");
webDriver.findElement(By.cssSelector("body>div>a")).click();
这样就完成了主体的切换,可以定位到想要的元素
3.下拉框处理
对于下拉框来说,需要先定位到下拉框,再定位到下拉框内的选项
Select select=new Select(webElement);
select.selectByIndex(1);
4.提示框操作
text 返回alert/confirm/prompt 中的文字信息
accept 点击确认按钮
dismiss 点击取消按钮,如果有的话
send_keys 输入值,这个alert\confirm 没有对话框就不能用了,不然会报错
//alert弹窗取消,最主要的是先切换webDriver的定位
webDriver.switchTo().alert().dismiss();
sleep(3000);
//输入
webDriver.switchTo().alert().sendKeys("111");
//确认
webDriver.switchTo().alert().accept();
5.上传文件
这个来说非常简单,只需要把文件路径添加进去就行
webDriver.findElement(By.cssSelector("")).sendKeys("文件路径");