Example usage for org.openqa.selenium WebElement getText

List of usage examples for org.openqa.selenium WebElement getText

Introduction

In this page you can find the example usage for org.openqa.selenium WebElement getText.

Prototype

String getText();

Source Link

Document

Get the visible (i.e.

Usage

From source file:cls.ui.model.selenium.secondhandcarmanagement.StartAssessmentPage.java

public void selectBrand(String letter, String brand) throws Throwable {
    WebElement brandInput = driver.findElement(By.id("getBrand"));
    brandInput.click();/*from ww w. j  a va2s .  c o m*/

    List<WebElement> letterLst = driver.findElements(By.xpath(
            "/html/body/div/div/div/div/div/div[2]/div[1]/div/div[1]/div/div/form/div[2]/div[2]/div[2]/div[1]/div/ul/div[2]/a"));
    for (int i = 0; i < letterLst.size(); i++) {
        WebElement letterBtn = letterLst.get(i);
        if (letterBtn.getText().equals(letter)) {
            letterBtn.click();
            break;
        }
    }

    List<WebElement> brandLst = driver.findElements(By.xpath(
            "/html/body/div[1]/div/div/div/div/div[2]/div[1]/div/div[1]/div/div/form/div[2]/div[2]/div[2]/div[1]/div/ul/div[1]/li"));
    for (int i = 0; i < brandLst.size(); i++) {
        WebElement brandBtn = brandLst.get(i);
        if (brandBtn.getText().equals(brand)) {
            brandBtn.click();
            break;
        }
    }

    Thread.sleep(1000);
}

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

License:Open Source License

@Override
public Links visitAndGetNextLinks(Page page) {
    /*HtmlUnitDriver??JS??*/
    HtmlUnitDriver driver = PageUtils.getDriver(page, BrowserVersion.CHROME);
    /*HtmlUnitDriver??JsoupCSS SELECTOR??
      HtmlUnitDriverselenium*//*from  ww w .  j a  v a  2s. c  o  m*/
    List<WebElement> divInfos = driver.findElementsByCssSelector("h3>a[id^=uigs]");
    for (WebElement divInfo : divInfos) {
        System.out.println(divInfo.getText());
    }
    return null;
}

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

License:Open Source License

public static void main(String[] args) throws Exception {
    Executor executor = new Executor() {
        @Override//from  w w  w . j ava  2s . c  o  m
        public void execute(CrawlDatum datum, CrawlDatums next) throws Exception {

            HtmlUnitDriver driver = new HtmlUnitDriver();
            driver.setJavascriptEnabled(true);

            driver.get(datum.getUrl());

            List<WebElement> elementList = driver.findElementsByCssSelector("h3.vrTitle a");
            for (WebElement element : elementList) {
                System.out.println("title:" + element.getText());
            }
        }
    };

    //DBDBManager
    DBManager manager = new BerkeleyDBManager("crawl");
    //Crawler?DBManagerExecutor
    Crawler crawler = new Crawler(manager, executor);
    crawler.addSeed("https://www.sogou.com/web?query=%E6%B7%98%E5%AE%9D");
    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//from w w w  .j  a  va 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("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:cn.edu.hfut.dmic.webcollector.example.QianQuCrawler.java

License:Open Source License

public void startS() {
    String url = null;//from ww  w .jav  a2  s. c o  m
    try {
        url = createBingUrl("?", 1);
    } catch (Exception e) {
        e.printStackTrace();
    }
    Executor executor = new Executor() {
        @Override
        public void execute(CrawlDatum page, CrawlDatums next) throws Exception {
            String pageType = page.meta("pageType");

            HtmlUnitDriver driver = new HtmlUnitDriver();
            driver.setJavascriptEnabled(true);
            driver.get(page.getUrl());
            WebElement element = driver.findElementByCssSelector("div#mainContent");
            List<WebElement> elementss = element.findElements(By.cssSelector("div.article"));

            for (WebElement element0 : elementss) {
                WebElement webElementa = element0.findElement(By.cssSelector("img"));
                WebElement webElementb = element0.findElement(By.cssSelector("h3 a"));
                WebElement webElementc = element0.findElement(By.cssSelector("p"));
                WebElement webElementd = element0.findElement(By.cssSelector("a"));
                String href = webElementa.getAttribute("src");
                String link = webElementd.getAttribute("href");
                CrawlDatum crawlDatum = new CrawlDatum(link).meta("Title", webElementb.getText())
                        .meta("Image", href).meta("Description", webElementc.getText())
                        .meta("pageType", "outlink").meta("link", link);
                QianQuCrawler crawler = new QianQuCrawler("bcrawlerd", true, link, request);
                crawler.addSeed(crawlDatum);
                crawler.setThreads(30);
                crawler.start(1);

            }
            for (int i = 2; i < 3; i++) {
                //
                driver.findElement(By.cssSelector("a.page-link.next")).click();
                //??
                Thread.sleep(waitLoadBaseTime + random.nextInt(waitLoadRandomTime));
                WebElement element2 = driver.findElementByCssSelector("div#mainContent");
                List<WebElement> elementss2 = element2.findElements(By.cssSelector("div.article"));

                for (WebElement element0 : elementss2) {
                    WebElement webElementa = element0.findElement(By.cssSelector("img"));
                    WebElement webElementb = element0.findElement(By.cssSelector("h3 a"));
                    WebElement webElementc = element0.findElement(By.cssSelector("p"));
                    WebElement webElementd = element0.findElement(By.cssSelector("a"));
                    String href = webElementa.getAttribute("src");
                    String link = webElementd.getAttribute("href");
                    CrawlDatum crawlDatum = new CrawlDatum(link).meta("Title", webElementb.getText())
                            .meta("Image", href).meta("Description", webElementc.getText())
                            .meta("pageType", "outlink").meta("link", link);
                    QianQuCrawler crawler = new QianQuCrawler("bcrawlerd", true, link, request);
                    crawler.addSeed(crawlDatum);
                    crawler.setThreads(30);
                    crawler.start(5);

                }
                Thread.sleep(waitLoadBaseTime + random.nextInt(waitLoadRandomTime));
            }
        }
    };
    //DBDBManager
    DBManager manager = new BerkeleyDBManager("acrawlerd");
    //Crawler?DBManagerExecutor
    Crawler crawler = new Crawler(manager, executor);
    crawler.setThreads(30);
    crawler.addSeed(url);
    try {
        crawler.start(1);
    } catch (Exception e) {
        e.printStackTrace();
    }

}

From source file:co.edu.icesi.i2t.slrtools.bib.transformations.TransformBibACM.java

License:Open Source License

/**
 * Funcion principal para la transformacion de los archivos html en un solo
 * arhivo consolidado BIB, la funcion se encarga de extraer del html cada
 * link de articulo, despues de tener el listado de url se dispone con la
 * ayuda de selenium webdriver el ingreso a cada url y descargar el BIBtex
 * para finalizar con la union de todos en un solo archivo BIB
 *
 * @param sourceFilesPath String con la ruta de la carpeta donde se
 * encuentran los archivos html a transformas
 * @param targetFilePath String con la ruta fisica del directorio donde se
 * guardara el archivo consolodidao/*from   ww w.  j av  a 2  s.c  o  m*/
 * @param targetFileName
 */
public static boolean transformFiles(String sourceFilesPath, String targetFilePath, String targetFileName) {
    boolean bibFileCreated = false;

    System.out.println("");
    System.out.println("-----------------------------");
    System.out.println("Generating BibTeX for ACM Digital Library results...");
    System.out.println("");

    String bibContent = "";
    List<String> urls = extractURL(sourceFilesPath);
    FirefoxProfile profile = new FirefoxProfile();
    WebDriver webDriver = new FirefoxDriver(profile);
    for (int i = 0; i < urls.size(); i++) {
        try {
            System.out.println("[INFO] Retrieving BibTeX from URL: " + urls.get(i));
            String idFile = urls.get(i).split("id=")[1].split("&")[0];
            idFile = idFile.substring(idFile.indexOf(".") + 1, idFile.length());
            String url = (urls.get(i));
            webDriver.get(url);
            WebElement bibField = (new WebDriverWait(webDriver, 10))
                    .until(ExpectedConditions.presenceOfElementLocated(By.linkText("BibTeX")));
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {

            }
            bibField.click();
            WebElement textBib = (new WebDriverWait(webDriver, 10))
                    .until(ExpectedConditions.presenceOfElementLocated(By.id(idFile)));
            String reference = textBib.getText();
            String referenceAbstract = webDriver.findElement(By.id("abstract")).getText();
            referenceAbstract = "abstract = {" + referenceAbstract + "}}" + System.lineSeparator();
            bibContent += reference.substring(0, reference.length() - 2) + referenceAbstract;
            //Thread.sleep(10000);
            //tempurl.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        } catch (TimeoutException e) {
            System.out.println(
                    "[ERROR] Failed to retrieve BibTex. The application may have been blocked by ACM Digital Library. Try again later.");
        } catch (Exception e) {
            System.out.println("[ERROR] Failed to retrieve BibTeX. " + e.getMessage());
        }
    }
    webDriver.quit();
    try {
        saveBibFile(bibContent, targetFilePath, targetFileName);
        if (!bibContent.equals("")) {
            bibFileCreated = true;
        }
    } catch (Exception e) {
        System.out.println("[ERROR] Failed to create BibTeX file." + e.getMessage());
    }
    System.out.println("-----------------------------");
    return bibFileCreated;
}

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

License:Open Source License

/**
 * /*  w w  w  .ja v a2  s  . c om*/
 * @param cadenasBusqueda
 * @param direccionBusqueda
 */
public static void searchWeb(String cadenasBusqueda, String direccionBusqueda) {
    /* a esta funcion se debe mejorar
     * 1: automatizar las preferencias para la descarga automatica
     * 2: la ruta de descarga
     * 3: el cierre del navegador al finalizar la ultima descarga*/
    System.out.println("----------inicia busqueda web IEEE Computer Society----------");
    System.out.println("Cadena de palabras a buscar: " + cadenasBusqueda);
    System.out.println("------------------------------------------------------");
    FirefoxProfile profile = new FirefoxProfile();
    WebDriver url = new FirefoxDriver(profile);
    String[] lcadenasBusqueda = cadenasBusqueda.split(";");
    for (int i = 0; i < lcadenasBusqueda.length; i++) {
        try {
            url.get(direccionBusqueda);
            WebElement searchField = url.findElement(By.name("queryText1"));
            WebElement buttonSearch = url.findElement(By.id("searchButton"));
            searchField.click();
            searchField.sendKeys(lcadenasBusqueda[i]);
            buttonSearch.click();
            WebElement selectField = url.findElement(By.id("select1"));
            WebElement buttonField = url.findElement(By.id("form1Button"));
            selectField.sendKeys("100");
            buttonField.click();
            try {
                WebElement stringResult = url
                        .findElement(By.xpath("//div[contains(@class, 'searchwhitebox')]"));
                System.out.println("Busqueda: " + i + " cadena de busqueda:" + lcadenasBusqueda[i] + " - "
                        + stringResult.getText());
                //String sourceCode=url.getPageSource();
                //PrintWriter archivo = new PrintWriter("busquedasIEEECS/"+lcadenasBusqueda[i]+".html", "UTF-8");
                //archivo.print(sourceCode);
                //archivo.close();              
            } catch (Exception e) {
                System.out.println("[OJO]" + " Busqueda: " + i + " la cadena de busqueda: "
                        + lcadenasBusqueda[i] + " no trae resultados");
            }
        } catch (Exception e) {
            System.out
                    .println("excepcion busqueda cadena: " + lcadenasBusqueda[i] + " , motivo excepcion: " + e);
        }
    }
    //url.quit();
    System.out.println("----------fin busqueda web IEEE Computer Society----------");
}

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

License:Open Source License

/**
 * Funcion que se encarga de realizar automaticamente la busqueda en la base
 * de datos IEEEXplore conforme a una cadena de busqueda introducida, la
 * automatizacion nos permite descargar los CSV que IEEEXplore dispone con
 * el resultaod de las busquedas, la ruta donde se guardan los archivos
 * dependen de la seleccin del usuario, si por alguna razon el resultado de
 * la busqueda es mayor a 2000 datos, el buscador solo deja descargar los
 * primeros 2000 ordenados por importancia de acuerdo a las politicas de
 * IEEEXplore, los archivos descargados posteriormente son procesadas para
 * la construccion del BIB con los resultados obtenidos.
 *
 * @param searchStrings este parametro es la cadena de busqueda que retorna
 * la funcion mixIEEEXplore#mixWords, cada cadena de busqueda esta separada
 * por ;//w  w w. j  av a  2 s. c  o  m
 * @param url este paremetro es el URL de la busqueda avanzada de IEEEXplore
 * @see mixWords.mixIEEEXplore#mixWords(java.lang.String, java.lang.String)
 */
public static void searchWeb(String searchStrings, String url) {
    System.out.println("");
    System.out.println("-----------------------------");
    System.out.println("Searching IEEE Xplore Digital Library...");
    System.out.println("Search strings: " + searchStrings + "");
    System.out.println("");

    String workingDir = System.getProperty("user.dir");

    File targetDirectory = new File("files" + File.separator + Database.IEEE_XPLORE.getName());
    targetDirectory.mkdir();

    FirefoxProfile profile = new FirefoxProfile();

    profile.setPreference("browser.download.folderList", 2);
    profile.setPreference("browser.download.manager.showWhenStarting", false);
    profile.setPreference("browser.download.dir",
            workingDir + File.separator + "files" + File.separator + Database.IEEE_XPLORE.getName());
    profile.setPreference("browser.download.useDownloadDir", true);
    profile.setPreference("browser.helperapps.neverAsk.saveToDisk", "application/x-latex;text/csv");
    profile.setPreference("browser.helperApps.alwaysAsk.force", false);
    profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
    profile.setPreference("browser.download.manager.closeWhenDone", true);

    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.id("expression-textarea"));
            WebElement buttonSearch = webDriver.findElement(By.id("submit-search"));
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {

            }
            searchField.click();
            searchField.sendKeys(strings[i]);
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {

            }
            buttonSearch.click();
            try {
                WebElement exportField = (new WebDriverWait(webDriver, 10))
                        .until(ExpectedConditions.presenceOfElementLocated(By.id("popup-export-results")));
                WebElement stringResult = webDriver
                        .findElement(By.xpath("//div[contains(@id, 'content')]/span"));
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {

                }
                exportField.click();
                System.out.println("[INFO] Search string " + (i + 1) + " " + strings[i] + " "
                        + stringResult.getText());
                WebElement exportButton = (new WebDriverWait(webDriver, 10))
                        .until(ExpectedConditions.presenceOfElementLocated(By.id("export_results_ok")));
                exportButton.click();
            } catch (Exception e) {
                System.out.println(
                        "[WARNING] Search string " + (i + 1) + " " + strings[i] + " retrieves no results");
            }
        } catch (Exception e) {
            System.out.println(
                    "[ERROR] Search string " + (i + 1) + " " + strings[i] + " failed. " + e.getMessage());
        }
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {

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

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

License:Open Source License

/**
 * Funcion que se encarga de realizar automaticamente la busqueda en la base
 * de datos ScienceDirect conforme a una cadena de busqueda introducida, la
 * automatizacion nos permite descargar los BIB que ScienceDirect dispone
 * con el resultaod de las busquedas, la ruta donde se guardan losr archivos
 * dependen de la seleccin del usuario, si por alguna razon el resultado de
 * la busqueda es mayor a 1000 datos, el buscador solo deja descargar los
 * primeros 1000 ordenados por importancia de acuerdo a las politicas de
 * ScienceDirect, los archivos descargados posteriormente son procesadas
 * para la construccion del BIB consolodidado con los resultados obtenidos.
 *
 * @param searchStrings este parametro es la cadena de busqueda que retorna
 * la funcion mixScienceDirect#mixWords, cada cadena de busqueda esta
 * separada por ;// ww  w  . j a va2  s.  c o m
 * @param url este paremetro es el URL de la busqueda experta de
 * ScienceDirect
 * @see mixWords.mixScienceDirect#mixWords(java.lang.String,
 * java.lang.String)
 */
public static void searchWeb(String searchStrings, String url) {
    System.out.println("");
    System.out.println("-----------------------------");
    System.out.println("Searching Science Direct...");
    System.out.println("Search strings: " + searchStrings + "");
    System.out.println("");

    String workingDir = System.getProperty("user.dir");

    File targetDirectory = new File("files" + File.separator + Database.SCIENCE_DIRECT.getName());
    targetDirectory.mkdir();

    FirefoxProfile profile = new FirefoxProfile();

    profile.setPreference("browser.download.folderList", 2);
    profile.setPreference("browser.download.manager.showWhenStarting", false);
    profile.setPreference("browser.download.dir",
            workingDir + File.separator + "files" + File.separator + Database.SCIENCE_DIRECT.getName());
    profile.setPreference("browser.download.useDownloadDir", true);
    profile.setPreference("browser.helperapps.neverAsk.saveToDisk", "application/x-latex;text/csv");
    profile.setPreference("browser.helperApps.alwaysAsk.force", false);
    profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
    profile.setPreference("browser.download.manager.closeWhenDone", true);
    profile.setPreference("browser.download.panel.shown", true);

    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("SearchText"));
            //              WebElement searchField = (new WebDriverWait(webDriver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.name("SearchText")));
            WebElement submitSearch = webDriver.findElement(By.name("RegularSearch"));
            //              WebElement submitSearch = (new WebDriverWait(webDriver, 10)).until(ExpectedConditions.presenceOfElementLocated(By.name("RegularSearch")));
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {

            }
            searchField.click();
            searchField.sendKeys(strings[i]);
            try {
                Thread.sleep(10000);
            } catch (InterruptedException e) {

            }
            submitSearch.click();
            try {
                WebElement exportButton = (new WebDriverWait(webDriver, 10)).until(ExpectedConditions
                        .presenceOfElementLocated(By.cssSelector("span.down_sci_dir.exportArrow")));
                WebElement stringResult = webDriver
                        .findElement(By.xpath("//h1[contains(@class, 'queryText')]/strong"));
                try {
                    Thread.sleep(10000);
                } catch (InterruptedException e) {

                }
                exportButton.click();
                System.out.println("[INFO] Search string " + (i + 1) + " " + strings[i] + " "
                        + stringResult.getText());
                WebElement bibTex = webDriver.findElement(By.id("BIBTEX"));
                bibTex.click();
                WebElement export = webDriver.findElement(By.id("export_button"));
                export.click();
            } catch (Exception e) {
                System.out.println(
                        "[WARNING] Search string " + (i + 1) + " " + strings[i] + " retrieves no results");
            }
        } catch (Exception e) {
            System.out.println(
                    "[ERROR] Search string " + (i + 1) + " " + strings[i] + " failed. " + e.getMessage());
        }
        try {
            Thread.sleep(5000);
        } catch (InterruptedException e) {

        }
    }
    //   webDriver.quit();
    System.out.println("[INFO] Finished search in Science Direct");
    System.out.println("-----------------------------");
}

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

License:Open Source License

/**
 * Funcion que se encarga de realizar automaticamente la busqueda en la base
 * de datos SpringerLink conforme a una cadena de busqueda introducida, la
 * automatizacion nos permite descargar los CSV que SpringerLink dispone con
 * el resultaod de las busquedas, la ruta donde se guardan losr archivos
 * dependen de la seleccin del usuario, si por alguna razon el resultado de
 * la busqueda es mayor a 1000 datos, el buscador solo deja descargar los
 * primeros 1000 ordenados por importancia de acuerdo a las politicas de
 * SpringerLink, los archivos descargados posteriormente son procesadas para
 * la construccion del BIB consolodidado con los resultados obtenidos.
 *
 * @param searchStrings este parametro es la cadena de busqueda que retorna
 * la funcion mixScienceDirect#mixWords, cada cadena de busqueda esta
 * separada por ;/*from   ww w. ja v  a  2  s.c o m*/
 * @param url este paremetro es el URL de la busqueda experta de
 * ScienceDirect, el url es incompleto y se complementa con la informacion
 * del primer parametro
 * @see mixWords.mixSpringer#mixWords(java.lang.String, java.lang.String)
 */
public static void searchWeb(String searchStrings, String url) {
    /* a esta funcion se debe mejorar
     * 1: automatizar las preferencias para la descarga automatica
     * 2: la ruta de descarga
     * 3: el cierre del navegador al finalizar la ultima descarga*/
    System.out.println("");
    System.out.println("-----------------------------");
    System.out.println("Searching Springer Link...");
    System.out.println("Search strings: " + searchStrings);
    System.out.println("");

    FirefoxProfile profile = new FirefoxProfile();

    String workingDir = System.getProperty("user.dir");

    File targetDirectory = new File("files" + File.separator + Database.SPRINGER_LINK.getName());
    targetDirectory.mkdir();

    profile.setPreference("browser.download.folderList", 2);
    profile.setPreference("browser.download.manager.showWhenStarting", false);
    profile.setPreference("browser.download.dir",
            workingDir + File.separator + "files" + File.separator + Database.SPRINGER_LINK.getName());
    profile.setPreference("browser.download.useDownloadDir", true);
    profile.setPreference("browser.helperapps.neverAsk.saveToDisk", "application/x-latex;text/csv");
    profile.setPreference("browser.helperApps.alwaysAsk.force", false);
    profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
    profile.setPreference("browser.download.manager.closeWhenDone", true);

    WebDriver webDriver = new FirefoxDriver(profile);

    String[] strings = searchStrings.split(";");
    for (int i = 0; i < strings.length; i++) {
        try {
            webDriver.get(url + strings[i]);
            //WebElement searchField = url.findElement(By.name("title-is"));
            //WebElement buttonSearch = url.findElement(By.id("submit-advanced-search"));
            //searchField.click();
            //searchField.sendKeys(lcadenasBusqueda[i]);
            //buttonSearch.click();
            try {
                WebElement exportField = (new WebDriverWait(webDriver, 10)).until(ExpectedConditions
                        .presenceOfElementLocated(By.cssSelector("#tool-download > span.icon")));
                WebElement stringResult = webDriver.findElement(
                        By.xpath("//h1[contains(@class, 'number-of-search-results-and-search-terms')]/strong"));
                System.out.println("[INFO] Search string " + (i + 1) + " " + strings[i] + " has "
                        + stringResult.getText() + " result(s) returned");
                try {
                    Thread.sleep(2000);
                } catch (InterruptedException e) {

                }
                exportField.click();
            } catch (Exception e) {
                System.out.println(
                        "[WARNING] Search string " + (i + 1) + " " + strings[i] + " retrieves no results");
            }
        } catch (Exception e) {
            System.out.println(
                    "[ERROR] Search string " + (i + 1) + " " + strings[i] + " failed. " + e.getMessage());
        }
    }
    //   webDriver.quit();
    System.out.println("[INFO] Finished search in Springer Link");
    System.out.println("-----------------------------");
}