天天看点

Java自动化测试(特殊元素处理 25)下拉框

下拉框

  1. 找到下拉框所在元素
  2. 导入

    import org.openqa.selenium.support.ui.Select;

  3. 新建

    Select

    对象
  4. 通过

    getOptions

    拿到全部选项内容
  5. 通过

    selectByIndex

    或者

    selectByValue

    或者

    selectByVisibleText

    分别以

    index

    ,

    value

    ,

    text

    来选择
WebElement selectElement = driver.findElement(By.id("modules"));
Select select = new Select(selectElement);
List<WebElement> options = select.getOptions();
System.out.println(options);
System.out.println(select.isMultiple());
select.selectByIndex(1);
Thread.sleep(200);
select.selectByValue("20");
Thread.sleep(2000);
select.selectByVisibleText("switch");
           

复制

iframe

需要将driver的焦点切换到iframe中

索引

页面上从0开始的iframe

driver.switchTo().frame(index);
           

复制

id

元素的id名称

driver.switchTo().frame(nameOrId);
           

复制

iframe WebElement

driver.switchTo().frame(WebElement);
           

复制

跳转到父级iframe中

driver.switchTo().parentFrame()
           

复制

回到默认内容页面

driver.switchTo().defaultContent()
           

复制

切换windows窗口

打开新页面之后需要进行切换才能定位到新页面的内容

切换需要传入窗口的handle句柄

driver.switchTo().window(nameOrHandle)
           

复制

获取句柄

driver.getwindowHandle(); //获取当前窗口句柄
driver.getwindowHandles();//获取全部窗口句柄
           

复制

切换Alart弹框

driver.switchTo().alart()
           

复制

获取弹出框中的提示信息

alart.getText()
           

复制

点击确认按钮

alart.accept()
           

复制

点击取消按钮

alart.dismiss();
           

复制

鼠标操作

clickAndHold() //左键点击并且不释放
release()      //在特定元素上释放左键
doubleClick()  //双击左键
moveToElement()//移动鼠标指针到特定元素
contextClick() //在特定元素上右键点击
dragAndDrop()  //拖拽元素
perform()      //执行具体操作,前面方法都是声明操作,调用perform后才会执行
           

复制

完成一系列操作:

Actions actions = new Actions(driver);
WebElement a = driver.findElement(By.id("a"));
WebElement b = driver.findElement(By.id("b"));
actions.clickAndHold(a).moveToElement(b).release().perform();
           

复制