Example usage for org.openqa.selenium WebDriver findElements

List of usage examples for org.openqa.selenium WebDriver findElements

Introduction

In this page you can find the example usage for org.openqa.selenium WebDriver findElements.

Prototype

@Override
List<WebElement> findElements(By by);

Source Link

Document

Find all elements within the current page using the given mechanism.

Usage

From source file:br.gov.frameworkdemoiselle.behave.runner.webdriver.ui.WebBase.java

License:Open Source License

private List<WebElement> getElementsWithFrames(WebDriver driver, By by) {
    List<WebElement> elements = new ArrayList<WebElement>();
    boolean found = false;

    frame = getSwitchDriver(driver);/*  w w w.  ja  v  a  2  s  .c  om*/

    long startedTime = GregorianCalendar.getInstance().getTimeInMillis();
    while (true) {
        frame.bind();

        for (int i = 0; i < frame.countFrames(); i++) {
            frame.switchNextFrame();
            List<WebElement> elementsFound = driver.findElements(by);
            if (elementsFound.size() > 0) {
                for (WebElement element : elementsFound) {
                    elements.add(element);
                    found = true;
                }
                break;
            }
        }

        if (found) {
            break;
        }
        waitThreadSleep(BehaveConfig.getRunner_ScreenMinWait());
        if (GregorianCalendar.getInstance().getTimeInMillis() - startedTime > BehaveConfig
                .getRunner_ScreenMaxWait()) {
            throw new BehaveException(message.getString("exception-element-not-found", getElementMap().name()));
        }
    }

    return elements;
}

From source file:browsermator.com.StoreLinksAsArrayByXPATHAction.java

@Override
public void RunAction(WebDriver driver) {
    try {//from   w  ww.  ja va2 s.  c  o m

        ArrayList<String> link_list = new ArrayList();
        List<WebElement> link_elements = driver.findElements(By.xpath(this.Variable1));
        for (Iterator<WebElement> it = link_elements.iterator(); it.hasNext();) {
            WebElement e = it.next();
            String thishref = e.getAttribute("href");
            if (link_list.contains(thishref)) {

            } else {
                link_list.add(thishref);
            }
        }

        SetStoredLinkArray(link_list);

        this.Pass = true;
    } catch (NoSuchElementException e) {
        this.Pass = false;

    }

}

From source file:budget.WebDriverManager.java

private static void runQueryWF(WebDriver driver, WebDriverWait wait, int account) {
    String date;//from   www.j ava 2s .c  o m
    String Analytics;
    String Category;
    Double amount;
    String accountName = getAccountName(stmt, account);

    //Selecting and wait for certain account page
    if (account != 4) {
        new Select(driver.findElement(By.id("accountDropdown"))).selectByIndex(account - 4);
        driver.findElement(By.name("accountselection")).click();
    }
    wait.until(ExpectedConditions.textToBePresentInElement(driver.findElement(By.className("moremarginbottom")),
            accountName));

    //Gatherng total amount
    if (account == 6) {
        String limitStr = driver.findElement(By.xpath("//table[@id='balancedetailstable']/tbody/tr/td"))
                .getText();
        String balanceStr = driver.findElement(By.xpath("//table[@id='balancedetailstable']/tbody/tr[3]/td"))
                .getText();
        //amount = convertStringAmountToDouble(balanceStr) - convertStringAmountToDouble(limitStr);
        amount = convertStringAmountToDouble(balanceStr); //just for SECURE CARD
    } else {
        amount = convertStringAmountToDouble(
                driver.findElement(By.className("availableBalanceTotalAmount")).getText());
    }
    addTotal(stmt, getTimestamp(), account, amount, taLog);

    //Gathering transactinos
    if (account == 6) {
        String strAmount;
        driver.findElement(By.id("a.creditcardtempauth")).click();
        waitForElement(wait, By.xpath("//tbody[@id='tempAuthSection']/tr"));
        List<WebElement> rows = driver.findElements(By.xpath("//tbody[@id='tempAuthSection']/tr"));
        for (WebElement row : rows) {
            if (!"You have no temporary authorizations for this account.".equals(row.getText())) {
                date = rotateDate(row.findElement(By.className("rowhead")).getText(), "mm/dd/yy");
                Analytics = prepareTextForQuery(row.findElement(By.className("text")).getText());
                strAmount = row.findElements(By.className("amount")).get(0).getText();
                if ("+".equals(strAmount.substring(0, 1))) {
                    amount = convertStringAmountToDouble(strAmount);
                } else {
                    amount = -convertStringAmountToDouble(strAmount);
                }
                addTransaction(true, stmt, date, account, "", Analytics, amount, true, taLog);
            }
        }
        rows = driver.findElements(By.xpath("//table[@id='CreditCardTransactionTable']/tbody[4]/tr"));
        for (WebElement row : rows) {
            if (row.findElements(By.className("rowhead")).size() == 1) {
                if (!"".equals(row.findElement(By.className("rowhead")).getText())) {
                    date = rotateDate(row.findElement(By.className("rowhead")).getText(), "mm/dd/yy");
                    WebElement cell = row.findElement(By.className("text"));
                    Analytics = prepareTextForQuery(cell.findElement(By.xpath("span")).getText());
                    strAmount = row.findElements(By.className("amount")).get(0).getText();
                    if ("+".equals(strAmount.substring(0, 1))) {
                        amount = convertStringAmountToDouble(strAmount);
                    } else {
                        amount = -convertStringAmountToDouble(strAmount);
                    }
                    if (amount > 0) {
                        Category = "";
                    } else {
                        cell.findElement(By.className("detailsSection")).click();
                        waitForElement(wait, By.xpath("//table[@id='expandCollapseTable']/tbody/tr[2]/td[2]"));
                        Category = cell
                                .findElement(By.xpath("//table[@id='expandCollapseTable']/tbody/tr[2]/td[2]"))
                                .getText();
                    }
                    addTransaction(true, stmt, date, account, Category, Analytics, amount, false, taLog);
                }
            }
        }
    } else {
        driver.findElement(By.id("timeFilter")).click();
        new Select(driver.findElement(By.id("timeFilter"))).selectByVisibleText("Date Range");
        waitAndClick(driver, wait, By.name("Submit"));

        int itemsOnPage;
        if (driver.findElements(By.className("emdisclosure")).size() == 1) {
            itemsOnPage = Integer.parseInt(driver.findElement(By.className("emdisclosure")).getText()
                    .replace("(", "").replace(" transactions per page)", ""));
        } else {
            itemsOnPage = 0;
        }
        int itemsCounter;
        Boolean isPending = false;
        List<WebElement> lstAmounts;
        do {
            itemsCounter = 0;
            List<WebElement> rows = driver
                    .findElements(By.xpath("//table[@id='DDATransactionTable']/tbody/tr"));
            for (WebElement row : rows) {
                if (row.findElement(By.className("text")).getText().contains("Pending transactions")) {
                    isPending = true;
                }
                if (row.findElement(By.className("text")).getText().contains("Posted Transactions")) {
                    isPending = false;
                }

                if (row.findElements(By.className("rowhead")).size() == 1) {
                    date = rotateDate(row.findElement(By.className("rowhead")).getText(), "mm/dd/yy");
                    Analytics = prepareTextForQuery(row.findElement(By.className("text")).getText());
                    lstAmounts = row.findElements(By.className("amount"));
                    if (!" ".equals(lstAmounts.get(0).getText())) {
                        amount = convertStringAmountToDouble(lstAmounts.get(0).getText());
                    }
                    if (!" ".equals(lstAmounts.get(1).getText())) {
                        amount = -convertStringAmountToDouble(lstAmounts.get(1).getText());
                    }

                    addTransaction(true, stmt, date, account, "", Analytics, amount, isPending, taLog);
                    itemsCounter++;
                }
            }
            if (itemsCounter == itemsOnPage) {
                driver.findElement(By.linkText("Next >")).click();
            }
        } while (itemsCounter == itemsOnPage);
    }
}

From source file:budget.WebDriverManager.java

private static void runQueryAmEx(WebDriver driver, WebDriverWait wait, Boolean isPending) {
    String date;/*from  ww  w  . j a v a  2  s  . co m*/
    String Analytics;
    String Category;
    Double amount;

    List<WebElement> rows = driver.findElements(By.className((isPending) ? "pending-trans" : "posted-trans"));
    for (WebElement row : rows) {
        date = rotateDate(row.findElement(By.className("colDate")).getText().replace("\n*", ""), "MMMM\ndd");
        Analytics = prepareTextForQuery(row.findElement(By.className("desc-trans")).getText());
        amount = -convertStringAmountToDouble(row.findElement(By.className("colAmmount")).getText());
        if (amount < 0) {
            row.findElement(By.className("colPlus")).click();
            sleep(sleepTime);
            wait.until(ExpectedConditions.elementToBeClickable(row.findElement(By.className("printLink"))));
            Category = prepareTextForQuery(row.findElement(By.className("mobl_spanAddress")).getText());
            row.findElement(By.className("colPlus")).click();
        } else {
            Category = "";
        }
        addTransaction(true, stmt, date, 7, Category, Analytics, amount, isPending, taLog);
    }
}

From source file:businesscomponents.ReportCompare1.java

public static void main(String[] args) throws InterruptedException {
    // TODO Auto-generated method stub

    WebDriver driver = new FirefoxDriver();
    driver.get("http://148.173.174.122:8900/acadmin/?serverURL=http://wpqwa551:8000");
    driver.manage().window().maximize();

    String strUserName = "kgoutham";
    String strPassWord = "kgoutham";

    driver.findElement(By.name("userID")).clear();
    driver.findElement(By.name("userID")).sendKeys(strUserName);
    driver.findElement(By.name("Password")).clear();
    driver.findElement(By.name("Password")).sendKeys(strPassWord);

    driver.findElement(By.name("loginBtn")).click();
    Thread.sleep(1200);/*from   ww  w  . j a  v a 2  s. c o m*/
    System.out.println("Page title is: " + driver.getTitle());

    if (driver.getTitle().contains("Files & Folders")) {
        driver.findElement(By.id("Jobs")).click();
        Thread.sleep(2500);
        driver.switchTo().defaultContent();
        WebElement frame = driver.findElement(By.id("TableFrame"));
        driver.switchTo().frame(frame);
        Thread.sleep(1200);
        if (driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).isDisplayed()) {
            try {
                JavascriptExecutor executor = (JavascriptExecutor) driver;
                executor.executeScript("arguments[0].click();",
                        driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")));
            } catch (Exception e) {
                driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).click();
            }

            System.out.println("Clicking on Completed Tabs");
        } else {
            System.out.println("Failed:Unable to Find the Completed Tab section");
        }
        Thread.sleep(1200);
        WebElement frame1 = driver.findElement(By.id("TableFrame"));
        driver.switchTo().frame(frame1);
        String strValue = "MRF412";
        driver.findElement(By.id("FilterText")).clear();
        driver.findElement(By.id("FilterText")).sendKeys(strValue);
        Thread.sleep(1200);
        driver.findElement(By.xpath("//input[@value='Apply']")).click();
        Thread.sleep(3500);
        WebElement frame2 = driver.findElement(By.id("ifrListFrame"));
        driver.switchTo().frame(frame2);

        if (driver.findElement(By.xpath("(//a[contains(text(),'MRF412_reportcheck.ROI')])[1]")).isDisplayed()) {

            String oldTab = driver.getWindowHandle();
            driver.findElement(By.xpath("(//a[contains(text(),'MRF412_reportcheck.ROI')])[1]")).click();
            Thread.sleep(5000);
            ArrayList<String> newTab = new ArrayList<String>(driver.getWindowHandles());
            newTab.remove(oldTab);
            // change focus to new tab
            driver.switchTo().window(newTab.get(0));
            WebElement frame3 = driver.findElement(By.id("reportframe"));
            driver.switchTo().frame(frame3);
            String strPageSource = driver.getPageSource();
            CommonData.strPageSource = strPageSource;
            String strPageTitle = driver.findElement(By.xpath("//div[contains(@id,'water')]")).getText();
            CommonData.strPageTitle = strPageTitle;

            if (strPageTitle.contains("MultiUserTest License")) {
                System.out.println("Verifying the MultiUserTest License page is displayed");
                List<WebElement> products = driver
                        .findElements(By.xpath("//div[contains(@onmouseover,'Partner Name')]"));
                ArrayList<String> strPartnerName = CommonData.strPartnerName;
                ArrayList<String> strInvoiceNumber = CommonData.strInvoiceNumber;
                ArrayList<String> strTotalPayment = CommonData.strTotalPayment;
                ArrayList<String> strSENumber = CommonData.strSENumber;
                ArrayList<String> strPaymentMarket = CommonData.strPaymentMarket;
                ArrayList<String> strPaymentunit = CommonData.strPaymentunit;
                ArrayList<String> strLiabilityUnit = CommonData.strLiabilityUnit;
                ArrayList<String> strLiabilityCurrency = CommonData.strLiabilityCurrency;
                ArrayList<String> strMarketCurrency = CommonData.strMarketCurrency;
                ArrayList<String> strInvoiceReleaseDate = CommonData.strInvoiceReleaseDate;
                ArrayList<String> strUserId = CommonData.strUserId;

                for (int i = 1; i <= products.size(); i++) {
                    System.out.println(
                            "-----------------DISPLAYING LIST OF TABLE VALUES----------------------->: " + i);
                    String strPartnerNameList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'Partner Name')])[" + i + "]"))
                            .getText();
                    strPartnerName.add(strPartnerNameList);
                    System.out.println("Displaying the Partner Name list :" + strPartnerNameList);
                    String strInvoiceNumberList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Invoice Number')])[" + i + "]"))
                            .getText();
                    strInvoiceNumber.add(strInvoiceNumberList);
                    System.out.println("Displaying the Invoice Number list :" + strInvoiceNumberList);
                    String strTotalPaymentList;
                    if (i > 1) {
                        int j;
                        if (i == 3) {
                            j = i + 2;
                        } else {
                            j = i + 1;
                        }

                        strTotalPaymentList = driver
                                .findElement(
                                        By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + j + "]"))
                                .getText();
                    } else {
                        strTotalPaymentList = driver
                                .findElement(
                                        By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + i + "]"))
                                .getText();
                    }
                    strTotalPayment.add(strTotalPaymentList);
                    System.out.println("Displaying the Total Payment list :" + strTotalPaymentList);
                    String strSENumberList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'SE Number')])[" + i + "]"))
                            .getText();
                    strSENumber.add(strSENumberList);
                    System.out.println("Displaying the SE Number list :" + strSENumberList);
                    String strPaymentMarketList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Payment Market')])[" + i + "]"))
                            .getText();
                    strPaymentMarket.add(strPaymentMarketList);
                    System.out.println("Displaying the Payment Market list :" + strPaymentMarketList);
                    String strPaymentUnitList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'Payment Unit')])[" + i + "]"))
                            .getText();
                    strPaymentunit.add(strPaymentUnitList);
                    System.out.println("Displaying the Payment Unit list :" + strPaymentUnitList);
                    String strLiabilityUnitList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Liability Unit')])[" + i + "]"))
                            .getText();
                    strLiabilityUnit.add(strLiabilityUnitList);
                    System.out.println("Displaying the Liability Unit list :" + strLiabilityUnitList);
                    String strLiabilityCurrencyList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Liability Currency')])[" + i + "]"))
                            .getText();
                    strLiabilityCurrency.add(strLiabilityCurrencyList);
                    System.out.println("Displaying the Liability Currency list :" + strLiabilityCurrencyList);
                    String strMarketCurrencyList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Market Currency')])[" + i + "]"))
                            .getText();
                    strMarketCurrency.add(strMarketCurrencyList);
                    System.out.println("Displaying the Market Currency list :" + strMarketCurrencyList);
                    String strInvoiceReleaseDateList;
                    if (i > 1) {
                        int j;
                        if (i == 3) {
                            j = i + 2;
                        } else {
                            j = i + 1;
                        }

                        strInvoiceReleaseDateList = driver.findElement(By.xpath(
                                "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)["
                                        + j + "]"))
                                .getText();
                    } else {
                        strInvoiceReleaseDateList = driver.findElement(By.xpath(
                                "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)["
                                        + i + "]"))
                                .getText();
                    }
                    strInvoiceReleaseDate.add(strInvoiceReleaseDateList);
                    System.out
                            .println("Displaying the Invoice release date list :" + strInvoiceReleaseDateList);
                    String strUserIDList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'USER ID')])[" + i + "]"))
                            .getText();
                    strUserId.add(strUserIDList);
                    System.out.println("Displaying the UserId list :" + strUserIDList);
                }
                //               for (int i = 0; i < products.size(); i++) {
                //                  System.out.println("############ CHECKING ########################");
                //                  System.out.println(CommonData.strInvoiceNumber.get(i) + " Invoice Number");
                //                  System.out.println(CommonData.strInvoiceReleaseDate.get(i) + " Invoice Release Date");
                //                  System.out.println(CommonData.strTotalPayment.get(i) + " Total Payment");
                //
                //               }
            } else {
                System.out.println("MultiUserTest License is not displayed");
            }

            driver.switchTo().defaultContent();
            driver.close();
            driver.switchTo().window(oldTab);
            // driver.get("
            // http://148.173.174.122:8900/acadmin/?serverURL=http://wpqwa551:8000");
            driver.get(
                    "http://148.173.174.122:8900/acadmin/jobmanager.jsp?serverURL=http%3a%2f%2fwpqwa551%3a8000&volume=wpqwa551&daemonURL=http://wpqwa551:8100&daemonURL=http://wpqwa551:8100");

            if (driver.findElement(By.xpath("//td[contains(text(),'System')]")).isDisplayed()) {
                System.out.println("--------------##### Focus Changed to old window #### -----------");
            } else {
                System.out.println("---------Focus not changed---------------");
            }
            driver.switchTo().defaultContent();
            WebElement postframe = driver.findElement(By.id("TableFrame"));
            driver.switchTo().frame(postframe);
            Thread.sleep(1200);
            if (driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).isDisplayed()) {
                try {
                    JavascriptExecutor executor = (JavascriptExecutor) driver;
                    executor.executeScript("arguments[0].click();",
                            driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")));
                } catch (Exception e) {
                    driver.findElement(By.xpath("//a[contains(@onmouseover,'completedjobs')]")).click();
                }
                System.out.println("Clicking on Completed Tabs");
            } else {
                System.out.println("Failed:Unable to Find the Completed Tab section");
            }
            Thread.sleep(5000);
            WebElement postframe1 = driver.findElement(By.id("TableFrame"));
            driver.switchTo().frame(postframe1);
            String strPostValue = "MRF412";
            driver.findElement(By.id("FilterText")).clear();
            driver.findElement(By.id("FilterText")).sendKeys(strPostValue);
            Thread.sleep(1200);
            driver.findElement(By.xpath("//input[@value='Apply']")).click();
            Thread.sleep(3500);
            WebElement postframe2 = driver.findElement(By.id("ifrListFrame"));
            driver.switchTo().frame(postframe2);
            String postoldTab = driver.getWindowHandle();
            driver.findElement(By.xpath("(//a[contains(text(),'MRF412_reportcheck.ROI')])[1]")).click();
            Thread.sleep(5000);
            ArrayList<String> newTab_1 = new ArrayList<String>(driver.getWindowHandles());
            newTab_1.remove(postoldTab);
            // change focus to new tab
            driver.switchTo().window(newTab_1.get(0));
            WebElement postframe3 = driver.findElement(By.id("reportframe"));
            driver.switchTo().frame(postframe3);
            System.out.println("-############## COMPARING PRE-REPORT and POST-REPORT-##############--");
            // String strPostPageSource = driver.getPageSource();
            String strPostPageTitle = driver.findElement(By.xpath("//div[contains(@id,'water')]")).getText();
            if (strPostPageTitle.contains(CommonData.strPageTitle)) {
                System.out.println(
                        "Passed : Page Title is matching with Pre-report and Post-Report " + strPostPageTitle);

                for (int i = 1, k = 0; i <= CommonData.strPartnerName.size(); i++, k++) {
                    System.out.println(
                            "----------------->>>  COMPARING LIST OF TABLE VALUES FORM PRE-REPORT AND POST-REPORT  ----------------------->>>: "
                                    + i);
                    String strPostPartnerNameList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'Partner Name')])[" + i + "]"))
                            .getText();
                    if (CommonData.strPartnerName.get(k).contains(strPostPartnerNameList)) {
                        System.out.println("Passed : Partner Name is matching with Pre-report and Post-Report :"
                                + strPostPartnerNameList);
                    } else {
                        System.out.println(
                                "Failed : Partner Name is not matching with Pre-report and Post-Report :"
                                        + strPostPartnerNameList);
                    }

                    String strPostInvoiceNumberList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Invoice Number')])[" + i + "]"))
                            .getText();
                    if (CommonData.strInvoiceNumber.get(k).contains(strPostInvoiceNumberList)) {
                        System.out.println(
                                "Passed : Post Invoice Number is matching with Pre-report and Post-Report :"
                                        + strPostInvoiceNumberList);
                    } else {
                        System.out.println(
                                "Failed : Post Invoice Number is not matching with Pre-report and Post-Report :"
                                        + strPostInvoiceNumberList);
                    }

                    String strPostTotalPaymentList;
                    if (i > 1) {
                        int j;
                        if (i == 3) {
                            j = i + 2;
                        } else {
                            j = i + 1;
                        }

                        strPostTotalPaymentList = driver
                                .findElement(
                                        By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + j + "]"))
                                .getText();
                        if (CommonData.strTotalPayment.get(k).contains(strPostTotalPaymentList)) {
                            System.out.println(
                                    "Passed : Total Payment List is matching with Pre-report and Post-Report :"
                                            + strPostTotalPaymentList);
                        } else {
                            System.out.println(
                                    "Failed : Total Payment List is not matching with Pre-report and Post-Report :"
                                            + strPostTotalPaymentList);
                        }
                    } else {
                        strPostTotalPaymentList = driver
                                .findElement(
                                        By.xpath("(//div[contains(@onmouseover,'Total Payment')])[" + i + "]"))
                                .getText();
                        if (CommonData.strTotalPayment.get(k).contains(strPostTotalPaymentList)) {
                            System.out.println(
                                    "Passed : Total Payment List is matching with Pre-report and Post-Report :"
                                            + strPostTotalPaymentList);
                        } else {
                            System.out.println(
                                    "Failed : Total Payment List is not matching with Pre-report and Post-Report :"
                                            + strPostTotalPaymentList);
                        }
                    }

                    String strPostSENumberList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'SE Number')])[" + i + "]"))
                            .getText();

                    if (CommonData.strSENumber.get(k).contains(strPostSENumberList)) {
                        System.out
                                .println("Passed : SE Number List is matching with Pre-report and Post-Report :"
                                        + strPostSENumberList);
                    } else {
                        System.out.println(
                                "Failed : SE Number List is not matching with Pre-report and Post-Report :"
                                        + strPostSENumberList);
                    }

                    String strPostPaymentMarketList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Payment Market')])[" + i + "]"))
                            .getText();

                    if (CommonData.strPaymentMarket.get(k).contains(strPostPaymentMarketList)) {
                        System.out
                                .println("Passed : Payment Market is matching with Pre-report and Post-Report :"
                                        + strPostPaymentMarketList);
                    } else {
                        System.out.println(
                                "Failed : Payment Market is not matching with Pre-report and Post-Report :"
                                        + strPostPaymentMarketList);
                    }

                    String strPostPaymentUnitList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'Payment Unit')])[" + i + "]"))
                            .getText();
                    if (CommonData.strPaymentunit.get(k).contains(strPostPaymentUnitList)) {
                        System.out.println(
                                "Passed : Payment Unit list is matching with Pre-report and Post-Report :"
                                        + strPostPaymentUnitList);
                    } else {
                        System.out.println(
                                "Failed : Payment Unit list is not matching with Pre-report and Post-Report :"
                                        + strPostPaymentUnitList);
                    }

                    String strPostLiabilityUnitList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Liability Unit')])[" + i + "]"))
                            .getText();
                    if (CommonData.strLiabilityUnit.get(k).contains(strPostLiabilityUnitList)) {
                        System.out.println(
                                "Passed : Liability Unit list is matching with Pre-report and Post-Report :"
                                        + strPostLiabilityUnitList);
                    } else {
                        System.out.println(
                                "Failed : Liability Unit list is not matching with Pre-report and Post-Report :"
                                        + strPostLiabilityUnitList);
                    }

                    String strPostLiabilityCurrencyList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Liability Currency')])[" + i + "]"))
                            .getText();
                    if (CommonData.strLiabilityCurrency.get(k).contains(strPostLiabilityCurrencyList)) {
                        System.out.println(
                                "Passed : Liability Currency list is matching with Pre-report and Post-Report :"
                                        + strPostLiabilityCurrencyList);
                    } else {
                        System.out.println(
                                "Failed : Liability Currency list is not matching with Pre-report and Post-Report :"
                                        + strPostLiabilityCurrencyList);
                    }

                    String strPostMarketCurrencyList = driver
                            .findElement(
                                    By.xpath("(//div[contains(@onmouseover,'Market Currency')])[" + i + "]"))
                            .getText();
                    if (CommonData.strMarketCurrency.get(k).contains(strPostMarketCurrencyList)) {
                        System.out.println(
                                "Passed : Market Currency list is matching with Pre-report and Post-Report :"
                                        + strPostMarketCurrencyList);
                    } else {
                        System.out.println(
                                "Failed : Market Currency list is not matching with Pre-report and Post-Report :"
                                        + strPostMarketCurrencyList);
                    }

                    String strPostInvoiceReleaseDateList;
                    if (i > 1) {
                        int j;
                        if (i == 3) {
                            j = i + 2;
                        } else {
                            j = i + 1;
                        }

                        strPostInvoiceReleaseDateList = driver.findElement(By.xpath(
                                "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)["
                                        + j + "]"))
                                .getText();
                        if (CommonData.strInvoiceReleaseDate.get(k).contains(strPostInvoiceReleaseDateList)) {
                            System.out.println(
                                    "Passed : Invoice Release Date list is matching with Pre-report and Post-Report :"
                                            + strPostInvoiceReleaseDateList);
                        } else {
                            System.out.println(
                                    "Failed : Invoice Release Date list is not matching with Pre-report and Post-Report :"
                                            + strPostInvoiceReleaseDateList);
                        }
                    } else {
                        strPostInvoiceReleaseDateList = driver.findElement(By.xpath(
                                "(//div[contains(@onmouseover,'This is the difference in cost between Invoice Total and Market Totals')]/nobr)["
                                        + i + "]"))
                                .getText();
                        if (CommonData.strInvoiceReleaseDate.get(k).contains(strPostInvoiceReleaseDateList)) {
                            System.out.println(
                                    "Passed : Invoice Release Date list is matching with Pre-report and Post-Report :"
                                            + strPostInvoiceReleaseDateList);
                        } else {
                            System.out.println(
                                    "Failed : Invoice Release Date list is not matching with Pre-report and Post-Report :"
                                            + strPostInvoiceReleaseDateList);
                        }
                    }

                    String strPostUserIDList = driver
                            .findElement(By.xpath("(//div[contains(@onmouseover,'USER ID')])[" + i + "]"))
                            .getText();
                    if (CommonData.strUserId.get(k).contains(strPostUserIDList)) {
                        System.out.println("Passed : User ID list is matching with Pre-report and Post-Report :"
                                + strPostUserIDList);
                    } else {
                        System.out.println(
                                "Failed : User ID list is not matching with Pre-report and Post-Report :"
                                        + strPostUserIDList);
                    }

                }
                driver.switchTo().defaultContent();
                driver.close();
                driver.switchTo().window(postoldTab);
                System.out.println(
                        "########################## COMPLETED VALIDATIONS ALL ARE MATCHING ##################################");
            } else {
                System.out.println("Failed : Page Title is not matching with Pre-report and Post-Report");
            }

        } else {
            System.out.println("Failed to open the Multi user license page");
        }

    } else {
        System.out.println("Unable to open the Files and folder page after login");
    }
    driver.quit();
}

From source file:businesscomponents.ReportcomparisonComponents1.java

public static boolean isElementsPresent(WebDriver driver, By by) {
    try {//from w w  w.  j ava 2 s. co  m
        driver.findElements(by);
        return true;
    } catch (NoSuchElementException e) {
        return false;
    }
}

From source file:cn.edu.hfut.dmic.webcollector.example.FirefoxSelenium3.java

License:Open Source License

public static void main(String[] args) throws Exception {
    Executor executor = new Executor() {
        @Override/*  www.j a v  a  2s. c  o  m*/
        public void execute(CrawlDatum datum, CrawlDatums next) throws Exception {
            MongoClient mongoClient = new MongoClient("localhost", 27017);
            // ?
            // DBCollection dbCollection = mongoClient.getDB("maoyan_crawler").getCollection("rankings_am"); 
            DB db = mongoClient.getDB("maoyan_crawler");
            // ?????
            Set<String> colls = db.getCollectionNames();
            for (String s : colls) {
                // Collection(?"")
                if (s.equals("attend_rate")) {
                    db.getCollection(s).drop();
                }
            }
            DBCollection dbCollection = db.getCollection("attend_rate");
            ProfilesIni pi = new ProfilesIni();
            FirefoxProfile profile = pi.getProfile("default");
            WebDriver driver = new FirefoxDriver(profile);
            driver.manage().window().maximize();
            driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS);
            //                driver.setJavascriptEnabled(false);
            driver.get(datum.getUrl());
            //                System.out.println(driver.getPageSource());
            driver.findElement(By.xpath("//*[@id='seat_city']")).click();
            driver.switchTo().window(driver.getWindowHandle());

            int city_num = driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).size();
            for (int i = 0; i < city_num; i++) {
                System.out.println("A city chosen" + i);
                System.out.println(
                        driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i).getText());
                String city = driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i)
                        .getText();
                ((JavascriptExecutor) driver).executeScript("arguments[0].scrollIntoView(true);",
                        driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i));
                ((JavascriptExecutor) driver).executeScript("window.scrollBy(0, -250)", "");
                Thread.sleep(1000);
                new Actions(driver)
                        .moveToElement(
                                driver.findElements(By.xpath("//div[@id='all-citys']/div/ul/li/a")).get(i))
                        .click().perform();
                driver.switchTo().window(driver.getWindowHandle());
                //                System.out.println(driver.findElement(By.xpath("//span[@class='today']/em")).getText());
                System.out.println(driver.findElement(By.xpath("//span[@class='today']")).getText());
                for (int j = 0; j < driver
                        .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']"))
                        .size(); j++) {
                    System.out.println(driver
                            .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']"))
                            .get(j).getText());
                    System.out.println(
                            driver.findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c2 red']"))
                                    .get(j).getText());
                    System.out.println(
                            driver.findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c3 gray']"))
                                    .get(j).getText());
                    BasicDBObject dbObject = new BasicDBObject();
                    dbObject.append("title", driver.findElement(By.xpath("//span[@class='today']")).getText())
                            .append("city", city)
                            .append("mov_cnname",
                                    driver.findElements(
                                            By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']"))
                                            .get(j).getText())
                            .append("boxoffice_rate", driver
                                    .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c2 red']"))
                                    .get(j).getText())
                            .append("visit_pershow", driver
                                    .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c3 gray']"))
                                    .get(j).getText());
                    dbCollection.insert(dbObject);
                }
                System.out.println("new city list to choose");
                new Actions(driver).moveToElement(driver.findElement(By.xpath("//*[@id='seat_city']"))).click()
                        .perform();
                driver.switchTo().window(driver.getWindowHandle());
                Thread.sleep(500);
            }
            driver.close();
            driver.quit();
            mongoClient.close();
        }
    };

    //DBDBManager
    DBManager manager = new BerkeleyDBManager("crawl");
    //Crawler?DBManagerExecutor
    Crawler crawler = new Crawler(manager, executor);
    crawler.addSeed("http://pf.maoyan.com/attend/rate");
    crawler.start(1);
}

From source file:cn.edu.hfut.dmic.webcollector.example.FirefoxSelenium4.java

License:Open Source License

public static void main(String[] args) throws Exception {
    Executor executor = new Executor() {
        @Override// w w  w .  j ava 2  s. com
        public void execute(CrawlDatum datum, CrawlDatums next) throws Exception {
            MongoClient mongoClient = new MongoClient("localhost", 27017);
            // ?
            // DBCollection dbCollection = mongoClient.getDB("maoyan_crawler").getCollection("rankings_am"); 
            DB db = mongoClient.getDB("maoyan_crawler");
            // ?????
            Set<String> colls = db.getCollectionNames();
            for (String s : colls) {
                // Collection(?"")
                if (s.equals("rankings_am")) {
                    db.getCollection(s).drop();
                }
            }
            DBCollection dbCollection = db.getCollection("attend_rate");
            ProfilesIni pi = new ProfilesIni();
            FirefoxProfile profile = pi.getProfile("default");
            WebDriver driver = new FirefoxDriver(profile);
            driver.manage().timeouts().pageLoadTimeout(3, TimeUnit.SECONDS);
            //                driver.setJavascriptEnabled(false);
            driver.get(datum.getUrl());
            //                System.out.println(driver.getPageSource());
            List<WebElement> movie_name = driver
                    .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c1 lineDot']"));
            List<WebElement> boxoffice_rate = driver
                    .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c2 red']"));
            List<WebElement> visit_pershow = driver
                    .findElements(By.xpath("//div[@id='seat_table']//ul//li[@class='c3 gray']"));
            WebElement title = driver.findElement(By.xpath("//span[@class='today']/em"));
            WebElement title2 = driver.findElement(By.xpath("//span[@class='today']"));
            System.out.println(title.getText());
            System.out.println(title.getText());
            for (int i = 0; i < movie_name.size(); i++) {
                System.out.println(movie_name.get(i).getText());
                System.out.println(boxoffice_rate.get(i).getText());
                System.out.println(visit_pershow.get(i).getText());
                //                   BasicDBObject dbObject = new BasicDBObject();
                //                  dbObject.append("title", title).append("rank", amList.get(0)).append("mov_cnname", cn_name).append("mov_enname", en_name).append("toweek_rev", amList.get(2)).append("total_rev", amList.get(3)).append("val_week", amList.get(4));
                //                   dbCollection.insert(dbObject);
            }
            driver.quit();

        }
    };

    //DBDBManager
    DBManager manager = new BerkeleyDBManager("crawl");
    //Crawler?DBManagerExecutor
    Crawler crawler = new Crawler(manager, executor);
    crawler.addSeed("http://pf.maoyan.com/attend/rate");
    crawler.start(1);
}

From source file:co.edu.icesi.i2t.slrtools.webdrivers.WebDriverACM.java

License:Open Source License

/**
 * Funcion que se encarga de realizar automaticamente la busqueda en la base
 * de datos ACM Digital Library conforme a una cadena de busqueda
 * introducida, ACM digital library no permite la descarga de ningun archivo
 * del resultado de la busqueda, por tal razn, se descarga el codigo fuente
 * de la pagina en el source del proyecto el cual posteriormente es usado
 * para la extraccin de la informacin y construccion del BIB con los
 * resultados obtenidos//  w  ww . j av  a  2s  .c  o m
 *
 * @param searchStrings este parametro es la cadena de busqueda que retorna
 * la funcion mixACM#mixWords2, cada cadena de busqueda esta separada por ;
 * @param url este paremetro es el URL de la busqueda avanzada de ACM
 * Digital Library
 * @see mixWords.mixACM#mixWords2(java.lang.String, java.lang.String)
 */
public static void searchWeb(String searchStrings, String url) {
    /* a esta funcion se debe mejorar
     * 1: validar el boton siguiente sin try catch, mejorar el manejo de las expeciones
     */
    System.out.println("");
    System.out.println("-----------------------------");
    System.out.println("Searching ACM Digital Library...");
    System.out.println("Search strings: " + searchStrings + "");
    System.out.println("");

    FirefoxProfile profile = new FirefoxProfile();
    WebDriver webDriver = new FirefoxDriver(profile);
    String[] strings = searchStrings.split(";");
    for (int i = 0; i < strings.length; i++) {
        try {
            webDriver.get(url);

            WebElement searchField = webDriver.findElement(By.name("within"));
            searchField.click();
            searchField.sendKeys(strings[i]);

            WebElement buttonSearch = webDriver.findElement(By.name("Go"));
            buttonSearch.click();

            List<WebElement> stringResult = webDriver
                    .findElements(By.xpath("//span[contains(@style, 'background-color:yellow')]"));
            if (!stringResult.isEmpty()) {
                System.out.println(
                        "[WARNING] Search string " + (i + 1) + ": " + strings[i] + " retrieves no results");
            } else {
                int counter = 1;
                try {
                    WebElement nextField = null;
                    do {
                        String sourceCode = webDriver.getPageSource();
                        File targetDirectory = new File("files" + File.separator + Database.ACM.getName());
                        targetDirectory.mkdir();
                        try (PrintWriter file = new PrintWriter(
                                "files" + File.separator + Database.ACM.getName() + File.separator
                                        + "searchResults_" + i + "_" + counter + ".html",
                                "UTF-8")) {
                            file.print(sourceCode);
                        }
                        nextField = (new WebDriverWait(webDriver, 10))
                                .until(ExpectedConditions.presenceOfElementLocated(By.linkText("next")));
                        try {
                            Thread.sleep(10000);
                        } catch (InterruptedException e) {

                        }
                        nextField.click();
                        counter++;
                    } while (true);
                } catch (NoSuchElementException | TimeoutException | NullPointerException e) {
                    System.out.println("[INFO] Search string " + (i + 1) + ": " + strings[i] + " has "
                            + counter + (counter == 1 ? " result" : " results") + "returned");
                }
            }
        } catch (FileNotFoundException | UnsupportedEncodingException e) {
            System.out.println(
                    "[ERROR] Search string " + (i + 1) + ": " + strings[i] + " failed. " + e.getMessage());
        } catch (NoSuchElementException e) {
            System.out.println(
                    "[ERROR] The application has been blocked by ACM Digital Library. Try again later.");
        }
        try {
            Thread.sleep(10000);
        } catch (InterruptedException e) {

        }
    }
    webDriver.quit();
    System.out.println("[INFO] Finished search in ACM Digital Library");
    System.out.println("-----------------------------");
}

From source file:com.amolik.scrapers.OdishaRationCardScraper.java

public static void processBlock(WebDriver driver, int districtIndex, int blockIndex, String blockValue,
        String blockName, ArrayList<OdishaRationCardBean> beanList) {
    // Select block based upon index

    Select blockSelect = getRefreshedBlockSelect(driver, districtIndex);
    blockSelect.selectByIndex(blockIndex);
    String districtName = districtsNameList.get(districtIndex);

    //      // Create new Directory if not exists
    //      String excelDestDirName = AmolikProperties.getProperty("odisha_ration.excelOutputDir")
    //            +System.getProperty("file.separator")
    //            +districtName;
    ////from  w w w. j a  va  2 s.c om
    //      new File(excelDestDirName).mkdirs();
    //
    //      String excelDestFileName = excelDestDirName
    //            +Constants.BACK_SLASH+blockName+".xlsx";

    driver.findElement(By.name(Constants.BTN_SHOW)).click();
    waitForSubmit(driver, Constants.NO_DETAILS_FOUND, blockValue);

    int rowCount = driver.findElements(By.xpath("//table[@id='gvDist']/tbody/tr")).size();

    if (logger.isInfoEnabled()) {

        logger.info(districtIndex + "|" + districtName + "|" + blockIndex + "|" + blockName + "| recordCount="
                + (rowCount - 3)); //$NON-NLS-1$
    }

    // Remove during production
    //rowCount=7;

    if (rowCount > 2) {

        for (int i = 2; i < rowCount - 1; i++) {

            List<WebElement> columns = driver
                    .findElements(By.xpath("//table[@id='gvDist']/tbody/tr[" + (i + 1) + "]/td"));

            StringBuffer columnBuffer = new StringBuffer();

            // Temporary select max columns to process
            int columnToProcess = 5;
            columnToProcess = Math.min(columnToProcess, columns.size());

            OdishaRationCardBean bean = new OdishaRationCardBean();
            setBean(columns, columnToProcess, bean);
            beanList.add(bean);

        }
    }

}