zoukankan      html  css  js  c++  java
  • selenium学习笔记——高级操作

    这篇主要介绍一下页面的高级操作:页面跳转、单选下拉框选择、frame切换、鼠标悬停、非网页弹窗

    一、页面跳转/窗口跳转

      两种方式:不关闭原窗口和关闭原窗口,建议采用第二种关闭原窗口这种方式

        不关闭原窗口:   

     1 //获取当前窗口的句柄
     2 String orighandle = driver.getWindowHandle();
     3 //遍历所有句柄
     4 for(String handle : driver.getWindowHandles()){
     5      // 如果不是原窗口的句柄,那么就把句柄移动到新窗口
     6      if(!handle.equals(orighandle)){
     7          driver.switchTo().window(handle);
     8          break;
     9      }      
    10 }

          关闭原窗口:

     1 // 获取原窗口句柄
     2 String orighandle = driver.getWindowHandle();
     3 //增强for循环,遍历所有句柄
     4 for (String handle : driver.getWindowHandles()) {
     5       if (handle.equals(orighandle)) {
     6      //如果是原窗口,那就关闭
     7      driver.close();
     8     } 
     9       else {
    10      //如果是新窗口,就移动鼠标到新窗口
    11       driver.switchTo().window(handle);
    12     }
    13 }

     二、鼠标悬停:鼠标放上去,下级菜单显示,又发生点击事件

    1 //创建对象
    2 Actions actions = new Actions(driver);
    3 //鼠标移动至元素上
    4 actions.moveToElement(driver.findElement(By.linkText("数码产品").perform();
    5 //按下某个元素链接,不释放鼠标
    6 actions.clickAndHold(driver.findElement(By.linkText("相机").perform();
    7 //释放鼠标左键,让页面刷新
    8 actions.release(driver.findElement(By.linkText("相机").perform();

    三、非网页弹窗:Alert弹窗

    1 //点击弹窗的确定按钮
    2 driver.switchTo().alert().accept();
    3 //点击弹窗的取消按钮
    4 driver.switchTo().alert().dismiss();
    5 //弹窗中的输入框输入文本
    6 driver.switchTo().alert().sendKeys("文本内容");

    四、frame切换

    注意:frame之间相互切换时,要从一个frame切换到主界面后,再切换到另一个frame

    1 //切换到frame
    2 driver.switchTo().frame("frame的id");
    3 //切回到默认主界面
    4 driver.switchTo().defaultContent();
  • 相关阅读:
    对于近期学习上的复习与整理
    ACM的奇计淫巧_输入挂
    hdu2602 DP (01背包)
    hdu 1723 DP/递推
    hdu1428 记忆化搜索(BFS预处理最短路径和+DP+DFS)
    hdu1355
    hdu1331&&hdu1579记忆化搜索(DP+DFS)
    hdu1257 dp(最长上升子序列)
    hdu1208 dp
    hdu 1203 dp(关于概率的```背包?)
  • 原文地址:https://www.cnblogs.com/starstarstar/p/7588219.html
Copyright © 2011-2022 走看看