zoukankan      html  css  js  c++  java
  • Webdriver API (三)- actions

    Actions类主要定义了一些模拟用户的鼠标mouse,键盘keyboard操作。对于这些操作,使用perform()方法进行执行。

    actions类可以完成单一的操作,也可以完成几个操作的组合。

    有时在进行页面操作时,需要做一些特殊的操作,比如移动鼠标到某个位置悬停几秒,或是双击,或是拖拽某个元素,这种情况就需要用到actions类了。

    一、单一的操作

      单一的操作是指鼠标和键盘的一个操作。如鼠标左键按下、弹起或输入一个字符串等。

      比如双击:

    Actions dclick = new Actions(driver); 
    dclick.doubleClick(message).build().perform();
      再 比如:
    WebElement element = dr.findElement(By.id("test"));
    WebElement element1 = dr.findElement(By.id("test1"));
    element.sendKeys("test");
    element1.click;

      用Actions类就可以这样实现:

      action Actions action=new Actions(driver);
      WebElement element=dr.findElement(By.id("test"));
      WebElement element1=dr.findElement(By.id("su"));
      action.sendKeys(element,"test").perform();
      action.moveToElement(element1);
      action.click().perform();

      看起来用Actions类实现click和sendKeys有点烦索

     
    二、拖拽操作
        
    WebElement source = driver.findElement(By.id("draggable")); 拖拽源对象
    WebElement target = driver.findElement(By.id("droppable")); 拖拽目标对象
    Actions action= new Actions(driver); 
    action.dragAndDrop(source, target).perform(); 选中源对象并多拽到目标对象,然后drop(松开鼠标)
     
    三、组合操作

      上面的拖拽操作也可以像下面濱示的一样把几个操作放一起实现

      Action dragAndDrop = Builder.clickAndHold(source) .moveToElement(target ) .release(target ) .build().perform();

    其中Builder是action类下面的一个子类

    当然actions还有很多其他的用法,大家在需要时可以查阅其API找到自己需要的方法。
  • 相关阅读:
    pandas,对dataFrame中某一个列的数据进行处理
    pandas的简单使用
    pandas,读取或存储DataFrames的数据到mysql中
    pandas,pd.ExcelWriter保存结果到已存在的excel文件中
    用命令让vbox的虚拟硬盘文件转换成vmware的vmdk
    vbox磁盘空间如何扩容
    Linux ext3/ext4数据恢复
    VirtualBox安装64位系统
    ubuntu 12.04启用休眠
    美化你的GRUB,全面支持中文(菜单、提示、帮助)适用7.04-9.04
  • 原文地址:https://www.cnblogs.com/jingwei/p/4835123.html
Copyright © 2011-2022 走看看