zoukankan      html  css  js  c++  java
  • [Selenium]Click element under a hidden element

    Description:

    Find out the DDL in Treegrid, but cannot click on it.Because the element is under a hidden element.

    Have tried all below solutions:

    1) theDDL.click();

    2) SeleniumUtil.jsClick(driver, theDDL);

    3) Actions action = new Actions(driver);   

        action.moveToElement(theDDL).perform();

    4) JavascriptExecutor js = (JavascriptExecutor)driver;   

        String jsStr = "$('td>div>div:eq("+theDDL+")').click()"; 

        js.executeScript(jsStr); 

    5) JavascriptExecutor js = (JavascriptExecutor)driver; 

        js.executeScript("arguments[0].click();", theDDL);

    Solution:

    In order to click the element ,change it to visible firstly.When we operate manually,actually,we first move the mouse to the row ,and then click the element.

    So, when automate the click action,we also need to move the mouse to the row firstly,then the element will be visible,this is the trick.

    Hover to the row of DDL, move mouse to the front of the row, then click the DDL would work.

    Code:

    WebElement theRow = this.findBlankBenchmarkRow();
    
      Assert.assertNotSame(theRow, null, "Should find out a blank benchmark row.");
    
      
    
      Actions action = new Actions(driver);
    
      System.out.println("Row size : "+theRow.getSize());
    
      System.out.println(("X offset : "+(theRow.getSize().width)/100));
    
      System.out.println(("Y offset : "+(theRow.getSize().height)/2));
    
      int locx=0;
    
      int locy=0;
    
      locx=(theRow.getSize().width)/100;
    
      locy=(theRow.getSize().height)/2;
    
      action.moveToElement(theRow, locx, locy).perform();
    
      SeleniumUtil.sleep(2);
    
      WebElement theDDL = theRow.findElement(By.cssSelector("td div.dash-bmk-ddl"));
    
      return theDDL;
    
  • 相关阅读:
    Bootstrap (Web前端CSS框架)
    面向对象和构造函数
    BFC(块级格式化上下文)
    图片轮播
    yii 计划任务
    Yii-数据模型- rules类验证器方法详解
    ubuntu下svn使用指南
    PHP加密解密函数
    在 PHP 中结合 Ajax 技术进行图片上传
    CSS3常用功能的写法
  • 原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/4552605.html
Copyright © 2011-2022 走看看