复选框操作
示例:批量操作对象,比如将页面上所有的checkbox 都勾上
方法:先用标签选择器选择页面上所有的input,然后从中过滤出属性type是checkbox的 并勾选
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();
}
}
多层框架操作
对于一个web 应用,经常会出现框架(frame) 或窗口(window)的应用,这也就给我们的定位带来了一定的困难,所以我们需要先切换到要定位的元素的框架中去。
方法:
1.定位外层框架:首先,你需要定位到外层框架。使用driver.switchTo().frame()方法可以切换到框架上下文。你可以通过框架的ID、名称或索引来定位。
2.定位内层框架:如果页面中有多层嵌套的框架,你可能需要先定位到外层框架,然后再定位到内层框架。同样使用driver.switchTo().frame()方法切换到内层框架上下文。
3.定位框架内的元素:在切换到正确的框架上下文后,你就可以像定位普通元素一样来定位框架内的元素。使用findElement()或其他定位方法来找到你需要的元素。
// 切换到外层框架
driver.switchTo().frame("outerFrame");
// 切换到内层框架
driver.switchTo().frame("innerFrame");
// 定位框架内的元素并操作
WebElement element = driver.findElement(By.id("elementId"));
element.click();
// 退出内层框架
driver.switchTo().parentFrame();
// 退出外层框架,回到默认页面上下文
driver.switchTo().defaultContent();
下拉框操作
首先要定位到下拉框的元素,然后选择下拉列表中的选项进行点击操
作。通常由两种方法来定位下拉列表,均需创建Select 类
方法一:通过索引(从0开始计数)
方法二:通过下拉框取值
WebElement webElement=webDriver.findElement(By.cssSelector("#ShippingMethod"));
Select select=new Select(webElement);
//两种下拉框选择方式
select.selectByIndex(2); //根据按钮选择
select.selectByValue("11.61");
弹窗操作
当浏览器中需要对弹窗进行操作时,通常运用下面几个API
切换到弹窗:switchTo().alert()
确定:switchTo()…alert().accept()
取消:switchTo()…alert().dismiss()
向弹窗中输入文本:sendKeys()
向上方弹窗中输入hello并确认
webdriver.switchTo().alert().sendKeys("hello");
webdriver.switchTo().alert().accept();