Example usage for org.openqa.selenium.support.ui Wait until

List of usage examples for org.openqa.selenium.support.ui Wait until

Introduction

In this page you can find the example usage for org.openqa.selenium.support.ui Wait until.

Prototype

<T> T until(Function<? super F, T> isTrue);

Source Link

Document

Implementations should wait until the condition evaluates to a value that is neither null nor false.

Usage

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Broadband_Util.java

/** Reads the header data after selecting
 * different options from dropdown list//from   www  . j  av a 2  s  .  c o  m
 **/
protected void targetTableEventData() throws InterruptedException {
    Wait<WebDriver> waittable = new WebDriverWait(getDriver(), 30);
    JavascriptExecutor jse = (JavascriptExecutor) getDriver();
    List<WebElement> speechbubble = null;

    boolean breakit;
    while (true) {
        breakit = true;
        try {

            getWebElement_By_xpath("//*[@id='content']/div[9]/div[1]/div[2]/ul/li[2]/a").click();
            jse.executeScript("window.scrollBy(0,240)", "");
            waittable
                    .until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='details-table']")));

            getDriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
            speechbubble = getDriver().findElements(By.xpath("//*[@id='column-filter-1']/ul/li"));
            System.out.println("Number of ChildNodes :" + speechbubble.size());
        } catch (Exception e) {
            //e.printStackTrace();
            breakit = false;
        }
        if (breakit == true) {
            break;
        }
    }
    //jse.executeScript("window.scrollBy(0,100)", "");    

    // Map<String,List<String>> testHeaderMap = new HashMap <String,List<String>>();
    //List<String> lsheaderTableKey = new ArrayList<String>() ; 
    List<String> lsheaderdata = null;
    int speechbubbleSize = speechbubble.size();
    String arHeaderKey[] = new String[speechbubbleSize];

    String headerKeyStr = "";
    for (int k = 0; k < speechbubbleSize; k++) {
        while (true) {
            breakit = true;
            try {
                jse.executeScript("window.scrollBy(0,50)", "");

                //click the dropdown control
                waittable.until(ExpectedConditions
                        .visibilityOfElementLocated(By.xpath("//*[@id='column-filter-sb']/span[2]")));
                getDriver().findElement(By.xpath("//*[@id='column-filter-sb']/span[2]")).click();

                int j = k + 1;

                String nodepath = "//*[@id='column-filter-1']/ul/li" + "[" + j + "]" + "/label";
                waittable.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(nodepath)));
                WebElement childElementSub = getDriver().findElement(By.xpath(nodepath));
                System.out.println("Id :'" + j + "' " + childElementSub.getText());
                String headertableKey = childElementSub.getText();
                //lsheaderTableKey.add(headertableKey);
                headerKeyStr = headerKeyStr + headertableKey + AppConstants.COMMA;
                childElementSub.click(); //click the checkbox

                //click the update button
                waittable.until(ExpectedConditions
                        .visibilityOfElementLocated(By.xpath("//*[@id='speechBubble']/div[3]/button")));
                getDriver().findElement(By.xpath("//*[@id='speechBubble']/div[3]/button")).click();
                getDriver().manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);

                //System.out.println("Id :'" +j+"' Update Button Clicked" );

                //Read the bill history table header data - begin
                waittable.until(
                        ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='details-table']")));
                WebElement headertable = getDriver().findElement(By.xpath("//*[@id='details-table']"));
                int i = 0;
                waittable.until(
                        ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='billhistory']/tr")));
                List<WebElement> header = headertable.findElements(By.xpath("//*[@id='billhistory']/tr"));

                // And iterate over them, getting the header data
                for (WebElement node : header) {
                    List<WebElement> cells = node.findElements(By.tagName("th"));
                    lsheaderdata = new ArrayList<String>();
                    for (WebElement cell : cells) {
                        //System.out.println("header"+cell.getText());
                        String headerData = cell.getText();
                        lsheaderdata.add(headerData);
                    }
                }

                //Read the bill history table header data - ends

                jse.executeScript("window.scrollBy(0,-50)", "");
            } catch (Exception e) {
                //e.printStackTrace();
                breakit = false;
            }
            if (breakit == true) {
                int indexPos = headerKeyStr.lastIndexOf(AppConstants.COMMA);
                String data = headerKeyStr.substring(0, indexPos);
                arHeaderKey[k] = data;
                System.out.println("lsheaderTableKey : " + data);
                dropDownTableHeaderMap.put(arHeaderKey[k], lsheaderdata);
                break;
            }
        } //end  while
    } //end for

    System.out.println("DropDown Control Data : " + dropDownTableHeaderMap);

}

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Broadband_Util.java

/**
 * Selects show filter dropdown values//w  ww.j a v a  2s .c  o  m
 */

protected void targetdropdownmonths() {
    boolean breakIt = true;
    while (breakIt) {
        try {
            Wait<WebDriver> waittable = new WebDriverWait(getDriver(), 30);
            JavascriptExecutor jse = (JavascriptExecutor) getDriver();
            jse.executeScript("window.scrollBy(0,-800)", "");
            jse.executeScript("window.scrollBy(0,850)", "");
            waittable.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='showFilters']")));
            getDriver().findElement(By.xpath("//*[@id='showFilters']")).click();
            dropdownmonths = getDriver().findElements(By.xpath("//*[@id='month-selector']/option"));

        } catch (Exception e) {
            breakIt = false;
        }
        if (breakIt) {
            break;
        }
    } //while loop ends
}

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Util.java

/**
 * Read the 30Days Graph data/*from   w ww  .  j  a v a 2s.c  om*/
 */
protected void targetGraphData_30Days() {
    JavascriptExecutor jse = (JavascriptExecutor) getDriver();

    //scroll down the page 
    jse.executeScript("window.scrollBy(0,-500)", "");

    handleLink_ByText(AppConstants.DAYS_30);
    Wait<WebDriver> wait = new WebDriverWait(getDriver(), 15);
    //JavascriptExecutor jse = (JavascriptExecutor)getDriver();
    Map<String, String> mapbill = new HashMap<String, String>();
    jse.executeScript("window.scrollBy(0,225)", "");
    wait.until(ExpectedConditions
            .visibilityOfElementLocated(By.xpath("//*[name()='svg']/*[name()='g'][13]/*[name()='g'][1]")));
    //Working :get the stroke attribute to get the color value of graph
    //getDriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    boolean breakIt = true;

    //Get the BillCycle Elements
    String billcyclerootNodeXpath = "//*[name()='svg']/*[name()='g'][13]/*[name()='g'][1]";
    WebElement billcyclerootElement = getDriver().findElement(By.xpath(billcyclerootNodeXpath));

    String billcyclechildXpath = "./*[name()='text']";

    List<WebElement> listbillcyclechild = billcyclerootElement.findElements(By.xpath(billcyclechildXpath));

    int eleListSize = listbillcyclechild.size();
    System.out.println("listChildElements.size() : " + listbillcyclechild.size());

    //Get the BillCycle Graph , tooltip Elements
    String bcGraphRootNodeXpath = "//*[name()='svg']/*[name()='g'][6]/*[name()='g']";
    WebElement bcGraphRootElement = getDriver().findElement(By.xpath(bcGraphRootNodeXpath));

    String bcGraphChildXpath = "./*[name()='g']";

    List<WebElement> listbcGraphChild = bcGraphRootElement.findElements(By.xpath(bcGraphChildXpath));
    int bcGraphListSize = listbcGraphChild.size();
    if (bcGraphListSize > 0) {
        targetBCGraphData_30Days = new HashMap();
    }
    // System.out.println("bcGraphListSize.size() : " + listbcGraphChild.size());

    for (int j = 0; j < eleListSize; j++) {
        int n = j + 1;
        String billCycleDate = null;
        String bcAtrribute_color = null;
        while (true) {
            breakIt = true;
            try {

                //read the billcycle data from nodes 
                String billchildNodePath_startDate = billcyclerootNodeXpath.concat("/*[name()='text']")
                        .concat("[").concat(String.valueOf(n).concat("]").concat("/*[name()='tspan']"));
                WebElement billelement_Date = getDriver().findElement(By.xpath(billchildNodePath_startDate));

                billCycleDate = billelement_Date.getText();

                if ((billCycleDate.trim().length() > 0)
                        && (!(targetGraphBillCycleDate_30Days.contains(billCycleDate)))) {
                    targetGraphBillCycleDate_30Days.add(billCycleDate);
                    System.out.println("Bill Cycle : '" + n + "' -->" + billCycleDate);
                }

                //read the billcycle graph data - color  from nodes
                String billchildNodePath_color = bcGraphRootNodeXpath.concat("/*[name()='g']").concat("[")
                        .concat(String.valueOf(n).concat("]").concat("/*[name()='path']"));
                //System.out.println("Node billchildNodePath_color : " + billchildNodePath_color);
                WebElement billelement_color = getDriver().findElement(By.xpath(billchildNodePath_color));

                bcAtrribute_color = billelement_color.getAttribute("stroke");

            } catch (Exception e) {
                if (e.getMessage().contains("element is not attached")) {
                    //System.out.println("Error: Element 4 ");
                    breakIt = false;
                }
            }
            if (breakIt) {
                break;
            }

        } //while loop ends
        targetBCGraphData_30Days.put(Integer.toString(n), bcAtrribute_color);
    } //for loop ends
}

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Util.java

/**
 * Read the 90Days Graph data//from   w w w  .ja  v  a2  s . c  o  m
 */
protected void targetGraphData_90Days() {
    JavascriptExecutor jse = (JavascriptExecutor) getDriver();

    //scroll up the page 
    jse.executeScript("window.scrollBy(0,-500)", "");
    handleLink_ByText(AppConstants.DAYS_90);
    Wait<WebDriver> wait = new WebDriverWait(getDriver(), 30);
    Map<String, String> mapbill = new HashMap<String, String>();
    jse.executeScript("window.scrollBy(0,225)", "");
    wait.until(ExpectedConditions
            .visibilityOfElementLocated(By.xpath("//*[name()='svg']/*[name()='g'][13]/*[name()='g'][1]")));
    //Working :get the stroke attribute to get the color value of graph
    getDriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    boolean breakIt = true;

    //Get the BillCycle Elements
    String billcyclerootNodeXpath = "//*[name()='svg']/*[name()='g'][13]/*[name()='g'][1]";
    WebElement billcyclerootElement = getDriver().findElement(By.xpath(billcyclerootNodeXpath));
    String billcyclechildXpath = "./*[name()='text']";
    List<WebElement> listbillcyclechild = billcyclerootElement.findElements(By.xpath(billcyclechildXpath));
    int eleListSize = listbillcyclechild.size();
    // System.out.println("listChildElements.size() : " + listbillcyclechild.size());

    //Get the BillCycle Graph , tooltip Elements
    String bcGraphRootNodeXpath = "//*[name()='svg']/*[name()='g'][6]/*[name()='g']";
    WebElement bcGraphRootElement = getDriver().findElement(By.xpath(bcGraphRootNodeXpath));

    String bcGraphChildXpath = "./*[name()='g']";

    List<WebElement> listbcGraphChild = bcGraphRootElement.findElements(By.xpath(bcGraphChildXpath));
    int bcGraphListSize = listbcGraphChild.size();
    if (bcGraphListSize > 0) {
        targetBCGraphData_90Days = new HashMap();
    }
    // System.out.println("bcGraphListSize.size() : " + listbcGraphChild.size());

    for (int j = 0; j < eleListSize; j++) {
        int n = j + 1;
        Map<String, String> tempBCGData = new HashMap();
        String billCycleDate = null;
        String bcAtrribute_color = null;
        while (true) {
            breakIt = true;
            try {

                //read the billcycle data from nodes 
                String billchildNodePath_startDate = billcyclerootNodeXpath.concat("/*[name()='text']")
                        .concat("[").concat(String.valueOf(n).concat("]").concat("/*[name()='tspan'][1]"));
                WebElement billelement_startDate = getDriver()
                        .findElement(By.xpath(billchildNodePath_startDate));
                //Thread.sleep(2000);
                String billAtrribute_startDate = billelement_startDate.getText();

                String billchildNodePath_endDate = billcyclerootNodeXpath.concat("/*[name()='text']")
                        .concat("[").concat(String.valueOf(n).concat("]").concat("/*[name()='tspan'][2]"));
                WebElement billelement_endDate = getDriver().findElement(By.xpath(billchildNodePath_endDate));

                String billAtrribute_endDate = billelement_endDate.getText();

                billCycleDate = billAtrribute_startDate.concat("_").concat(billAtrribute_endDate);
                //System.out.println("Bill Cycle : '" + n+"' -->"+  billCycleDate);

                //read the billcycle graph data - color, tooltip from nodes
                String billchildNodePath_color = bcGraphRootNodeXpath.concat("/*[name()='g']").concat("[")
                        .concat(String.valueOf(n).concat("]").concat("/*[name()='path']"));
                //System.out.println("Node billchildNodePath_color : " + billchildNodePath_color);
                WebElement billelement_color = getDriver().findElement(By.xpath(billchildNodePath_color));

                bcAtrribute_color = billelement_color.getAttribute("stroke");
                String colorMap = AppConstants.COLOR.concat(AppConstants.BEGIN_BRACKET).concat(billCycleDate)
                        .concat(AppConstants.CLOSE_BRACKET);
                tempBCGData.put(colorMap, bcAtrribute_color);
                Actions builder = new Actions(getDriver());

                String childMouseHouverNode = bcGraphRootNodeXpath.concat("/*[name()='g']").concat("[")
                        .concat(String.valueOf(n).concat("]"));
                builder.moveToElement(getDriver().findElement(By.xpath(childMouseHouverNode))).perform();

                WebElement mouseHoverNodeElement = getDriver()
                        .findElement(By.xpath("//div[9]/div[1]/div[1]/div[2]/div/div/div"));

                if (mouseHoverNodeElement != null) {
                    String toolTipText = mouseHoverNodeElement.getText();
                    System.out.println("toolTipText : '" + n + "' " + toolTipText);
                    String toolTipTextMap = AppConstants.TOOL_TIP_TEXT.concat(AppConstants.BEGIN_BRACKET)
                            .concat(billCycleDate).concat(AppConstants.CLOSE_BRACKET);
                    tempBCGData.put(toolTipTextMap, toolTipText.replaceAll("\n", ""));
                    builder.moveToElement(getDriver().findElement(By.xpath(billchildNodePath_startDate)))
                            .click().perform();
                }

            } catch (Exception e) {
                if (e.getMessage().contains("element is not attached")) {
                    //System.out.println("Error: Element 4 ");
                    breakIt = false;
                }
            }
            if (breakIt) {
                break;
            }

        } //while loop ends
        targetBCGraphData_90Days.put(billCycleDate, tempBCGData);
    } //for loop ends
}

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Util.java

/**
 * Read the 60Days Graph data/*from w w w .  jav a 2 s  .c  o  m*/
 */
protected void targetGraphData_60Days() {
    JavascriptExecutor jse = (JavascriptExecutor) getDriver();

    handleLink_ByText(AppConstants.DAYS_60);
    Wait<WebDriver> wait = new WebDriverWait(getDriver(), 60);
    Map<String, String> mapbill = new HashMap<String, String>();
    jse.executeScript("window.scrollBy(0,-500)", "");
    jse.executeScript("window.scrollBy(0,225)", "");
    wait.until(ExpectedConditions
            .visibilityOfElementLocated(By.xpath("//*[name()='svg']/*[name()='g'][13]/*[name()='g'][1]")));
    //Working :get the stroke attribute to get the color value of graph
    getDriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    boolean breakIt = true;

    //Get the BillCycle Elements
    String billcyclerootNodeXpath = "//*[name()='svg']/*[name()='g'][13]/*[name()='g'][1]";
    WebElement billcyclerootElement = getDriver().findElement(By.xpath(billcyclerootNodeXpath));

    String billcyclechildXpath = "./*[name()='text']";

    List<WebElement> listbillcyclechild = billcyclerootElement.findElements(By.xpath(billcyclechildXpath));

    int eleListSize = listbillcyclechild.size();
    // System.out.println("listChildElements.size() : " + listbillcyclechild.size());

    //Get the BillCycle Graph , tooltip Elements
    String bcGraphRootNodeXpath = "//*[name()='svg']/*[name()='g'][6]/*[name()='g']";
    WebElement bcGraphRootElement = getDriver().findElement(By.xpath(bcGraphRootNodeXpath));

    String bcGraphChildXpath = "./*[name()='g']";

    List<WebElement> listbcGraphChild = bcGraphRootElement.findElements(By.xpath(bcGraphChildXpath));
    int bcGraphListSize = listbcGraphChild.size();
    if (bcGraphListSize > 0) {
        targetBCGraphData_60Days = new HashMap();
    }
    // System.out.println("bcGraphListSize.size() : " + listbcGraphChild.size());

    for (int j = 0; j < eleListSize; j++) {
        int n = j + 1;
        Map<String, String> tempBCGData = new HashMap();
        String billCycleDate = null;
        String bcAtrribute_color = null;
        while (true) {
            breakIt = true;
            try {

                //read the billcycle data from nodes 
                String billchildNodePath_startDate = billcyclerootNodeXpath.concat("/*[name()='text']")
                        .concat("[").concat(String.valueOf(n).concat("]").concat("/*[name()='tspan'][1]"));
                WebElement billelement_startDate = getDriver()
                        .findElement(By.xpath(billchildNodePath_startDate));
                //Thread.sleep(2000);
                String billAtrribute_startDate = billelement_startDate.getText();

                String billchildNodePath_endDate = billcyclerootNodeXpath.concat("/*[name()='text']")
                        .concat("[").concat(String.valueOf(n).concat("]").concat("/*[name()='tspan'][2]"));
                WebElement billelement_endDate = getDriver().findElement(By.xpath(billchildNodePath_endDate));

                String billAtrribute_endDate = billelement_endDate.getText();

                billCycleDate = billAtrribute_startDate.concat("_").concat(billAtrribute_endDate);
                //System.out.println("Bill Cycle : '" + n+"' -->"+  billCycleDate);
                //read the billcycle graph data - color, tooltip from nodes
                String billchildNodePath_color = bcGraphRootNodeXpath.concat("/*[name()='g']").concat("[")
                        .concat(String.valueOf(n).concat("]").concat("/*[name()='path']"));
                //System.out.println("Node billchildNodePath_color : " + billchildNodePath_color);
                WebElement billelement_color = getDriver().findElement(By.xpath(billchildNodePath_color));

                bcAtrribute_color = billelement_color.getAttribute("stroke");
                String colorMap = AppConstants.COLOR.concat(AppConstants.BEGIN_BRACKET).concat(billCycleDate)
                        .concat(AppConstants.CLOSE_BRACKET);
                tempBCGData.put(colorMap, bcAtrribute_color);
                Actions builder = new Actions(getDriver());

                String childMouseHouverNode = bcGraphRootNodeXpath.concat("/*[name()='g']").concat("[")
                        .concat(String.valueOf(n).concat("]"));
                builder.moveToElement(getDriver().findElement(By.xpath(childMouseHouverNode))).perform();

                //System.out.println("childMouseHouverNode : '"+n +"' " +childMouseHouverNode);

                WebElement mouseHoverNodeElement = null;
                mouseHoverNodeElement = getDriver()
                        .findElement(By.xpath("//div[9]/div[1]/div[1]/div[2]/div/div/div"));
                //wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//div[9]/div[1]/div[1]/div[2]/div/div/div")));

                if (mouseHoverNodeElement != null) {
                    String toolTipText = mouseHoverNodeElement.getText();
                    System.out.println("toolTipText : '" + n + "' " + toolTipText);
                    String toolTipTextMap = AppConstants.TOOL_TIP_TEXT.concat(AppConstants.BEGIN_BRACKET)
                            .concat(billCycleDate).concat(AppConstants.CLOSE_BRACKET);
                    tempBCGData.put(toolTipTextMap, toolTipText);
                    builder.moveToElement(getDriver().findElement(By.xpath(billchildNodePath_startDate)))
                            .click().perform();
                }

            } catch (Exception e) {
                if (e.getMessage().contains("element is not attached")) {
                    //System.out.println("Error: Element 4 ");
                    breakIt = false;
                }
            }
            if (breakIt) {
                break;
            }

        } //while loop ends
        targetBCGraphData_60Days.put(billCycleDate, tempBCGData);
    } //for loop ends
}

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Util.java

protected void targetTableData() {
    Wait<WebDriver> waittable = new WebDriverWait(getDriver(), 30);

    JavascriptExecutor jse = (JavascriptExecutor) getDriver();

    jse.executeScript("window.scrollBy(0,-800)", "");
    //getWebElement_By_xpath("//*[@id='content']/div[9]/div[1]/div[2]/ul/li["+(x+1)+"]").click();
    //handleLink_ByText(AppConstants.DAYS_60);
    jse.executeScript("window.scrollBy(0,800)", "");

    waittable.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='details-table']")));

    WebElement headertable = getDriver().findElement(By.xpath("//*[@id='details-table']"));
    //int i=0;//www .  j  a  v a2 s.  co m
    List<WebElement> header = headertable.findElements(By.xpath("//*[@id='billhistory']/tr"));

    System.out.println("===========Table Data========");
    // And iterate over them, getting the header data
    for (WebElement node : header) {
        List<WebElement> cells = node.findElements(By.tagName("th"));
        ;
        for (WebElement cell : cells) {

            headerList.add(cell.getText());
        }

        WebElement table = getDriver().findElement(By.xpath("//*[@id='details-table']/tbody"));
        List<WebElement> rows = table.findElements(By.tagName("tr"));
        // And iterate over them, getting the cells
        for (WebElement row : rows) {
            List<WebElement> rowcells = row.findElements(By.tagName("td"));

            for (WebElement cell : rowcells) {

                tableDataList.add(cell.getText());

            }
        }
    }
}

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Util.java

/**
 * Selects the month name from dropdown--showFilters
 *//* ww  w . j  ava2  s.c  o m*/
protected void targetdropdownmonths() {
    boolean breakIt;
    while (true) {
        breakIt = true;
        try {
            Wait<WebDriver> waittable = new WebDriverWait(getDriver(), 30);
            JavascriptExecutor jse = (JavascriptExecutor) getDriver();
            jse.executeScript("window.scrollBy(0,-800)", "");
            jse.executeScript("window.scrollBy(0,850)", "");
            waittable.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='showFilters']")));
            getDriver().findElement(By.xpath("//*[@id='showFilters']")).click();
            dropdownmonths = getDriver().findElements(By.xpath("//*[@id='month-selector']/option"));
        } catch (Exception e) {
            breakIt = false;
        }
        if (breakIt) {
            break;
        }
    }
}

From source file:com.digi.selenium.util.BillNReload.Bill_n_Reload_Prepaid_Util.java

/**
 * Reads Y_Axis Data for 30,60,90 days/* www .  j  a v a  2 s  .  c om*/
 * @param index
 */

protected void getYAxisData(int index) {
    boolean breakIt = true;
    while (true) {
        breakIt = true;
        try {
            JavascriptExecutor jse = (JavascriptExecutor) getDriver();
            getWebElement_By_xpath("//div[9]/div[1]/div[2]/ul/li[" + index + "]/a").click();
            Wait<WebDriver> wait = new WebDriverWait(getDriver(), 30);

            if (index == 1) {
                jse.executeScript("window.scrollBy(0,-210)", "");
                jse.executeScript("window.scrollBy(0,210)", "");
            }
            wait.until(ExpectedConditions.visibilityOfElementLocated(
                    By.xpath("//*[name()='svg']/*[name()='g'][13]/*[name()='g'][2]")));
            //Working :get the stroke attribute to get the color value of graph
            getDriver().manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
            //boolean breakIt = true;

            //Get the BillCycle Elements
            String yaxisrootNodeXpath = "//*[name()='svg']/*[name()='g'][13]/*[name()='g'][2]";
            WebElement yaxisrootElement = getDriver().findElement(By.xpath(yaxisrootNodeXpath));
            String yaxischildXpath = "./*[name()='text']";
            listyaxischild = yaxisrootElement.findElements(By.xpath(yaxischildXpath));
            int eleListSize = listyaxischild.size();
            // String targetrootdatapath= "//*[@id='content']/div[9]/div[1]/div[1]/div[2]/div/div/svg/g[13]/g[2]";
            if (index == 1)
                System.out.println("===========30 Days Y-AxisData========");
            else {
                if (index == 2)
                    System.out.println("===========60 Days Y-AxisData========");
                else
                    System.out.println("===========90 Days Y-AxisData========");
            }
        } //try ends
        catch (Exception e) {
            e.printStackTrace();
            breakIt = false;
        }
        if (breakIt) {
            break;
        }
    } //while loop ends
}

From source file:com.digi.selenium.util.common.PageNavigation.java

protected WebElement tryToGetElementByXPath(String xpath, int maxtry) {
    Wait<WebDriver> waittable = new WebDriverWait(getDriver(), 30);
    WebElement element = null;//from  w  w  w  .  j a va  2s  . c om
    int trycount = 1;
    boolean breakit;
    while (trycount != maxtry) {
        breakit = true;
        try {
            element = waittable.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(xpath)));
        } catch (Exception e) {
            breakit = false;
            trycount++;

        }
        if (breakit == true)
            break;
    }
    return element;
}

From source file:com.digi.selenium.util.common.PageNavigation.java

protected WebElement tryToClickElementByXPath(String xpath, int maxtry) {
    Wait<WebDriver> waittable = new WebDriverWait(getDriver(), 30);
    WebElement element = null;/*from ww  w. ja v a  2s .c  o m*/
    int trycount = 1;
    boolean breakit;
    while (trycount != maxtry) {
        breakit = true;
        try {
            element = waittable.until(ExpectedConditions.elementToBeClickable(By.xpath(xpath)));
        } catch (Exception e) {
            breakit = false;
            trycount++;

        }
        if (breakit == true)
            break;
    }
    return element;
}