List of usage examples for org.openqa.selenium WebElement findElements
@Override List<WebElement> findElements(By by);
From source file:ch.admin.isb.hermes5.common.AbstractPageDriver.java
License:Apache License
public List<WebElement> allOptions(WebElement selectOneMenu) { return selectOneMenu.findElements(By.tagName("option")); }
From source file:ch.vorburger.mifos.wiki.ZWikiScraper.java
License:Apache License
private List<WikiNode> ulToNodes(WebElement subElements, WikiNode parent) { List<WikiNode> nodes = new LinkedList<ZWikiScraper.WikiNode>(); List<WebElement> lis = subElements.findElements(By.xpath("li")); for (WebElement li : lis) { WebElement ahref = li.findElement(By.tagName("span")).findElement(By.tagName("a")); String href = ahref.getAttribute("href"); String pageID = wikiURL2PageId(href); WikiNode n = new WikiNode(); n.pageID = pageID;//from www . j av a2s . c o m n.parentNode = parent; try { WebElement ul = li.findElement(By.tagName("ul")); n.childNodes.addAll(ulToNodes(ul, n)); } catch (NoSuchElementException e) { // No children then, OK. } nodes.add(n); } return nodes; }
From source file:chromedriveryahoologin.ChromeDriverDeleteTrashEmails.java
public static void main(String[] args) { try {/* w ww.j a v a 2 s .c om*/ Integer pozSpam = 0; Integer pozTrash = 0; Integer pozHelp = 0; Integer pozCompose = 0; Integer pozNewFolder = 0; System.setProperty("webdriver.chrome.driver", "D:\\Proiecte\\selenium-java-2.47.1\\selenium-2.47.1\\chromedriver_win32\\chromedriver.exe"); System.setProperty("webdriver.chrome.logfile", "D:\\prjAutJava\\YahooLogin\\ChromeDriverDeleteSpam.log"); ChromeOptions options = new ChromeOptions(); options.addArguments("test-type"); options.addArguments("--start-maximized"); options.addArguments("--disable-web-security"); options.addArguments("--no-proxy-server"); options.addArguments("--disable-extensions"); options.addArguments("--disable-notifications"); options.addArguments("--disable-popup-blocking"); options.addArguments("--disable-plug-in"); Map<String, Object> prefs = new HashMap<String, Object>(); prefs.put("credentials_enable_service", false); prefs.put("profile.password_manager_enabled", false); options.setExperimentalOption("prefs", prefs); DesiredCapabilities capabilities = DesiredCapabilities.chrome(); capabilities.setCapability(ChromeOptions.CAPABILITY, options); capabilities.setCapability(CapabilityType.SUPPORTS_APPLICATION_CACHE, true); capabilities.setCapability(CapabilityType.SUPPORTS_FINDING_BY_CSS, true); capabilities.setCapability(CapabilityType.SUPPORTS_LOCATION_CONTEXT, true); capabilities.setCapability(CapabilityType.SUPPORTS_ALERTS, true); capabilities.setCapability(CapabilityType.PLATFORM, "WIN10"); driver = new ChromeDriver(capabilities); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); driver.get("https://mail.yahoo.com"); driver.manage().window().maximize(); WebElement usernameElem = driver.findElement(By.id("login-username")); usernameElem.sendKeys("andadeacu@yahoo.com"); WebElement Next = driver.findElement(By.name("signin")); Next.click(); driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); WebElement passwordElem = driver.findElement(By.xpath("//input[@id='login-passwd']")); boolean selected = passwordElem.isSelected(); CharSequence password = ""; passwordElem.sendKeys(password); WebElement login = driver.findElement(By.id("login-signin")); login.click(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); driver.switchTo().activeElement(); WebElement tooltipElem = driver.findElement(By.xpath("//div[@class='Pos(r) M(0) TooltipContent']")); List<WebElement> childs = tooltipElem.findElements(By.xpath("//ul/li")); for (int j = 0; j < childs.size(); j++) { WebElement spamElem = childs.get(j); /* * System.out.println("ancorele " + j + " " + " tag " + * childs.get(j).getTagName() + " " + childs.get(j).getText() + * " " + childs.get(j).getAttribute("innerHTML")); */ if (spamElem.getText().startsWith(("Spam"))) { pozSpam = j; } if (spamElem.getText().startsWith(("Help"))) { pozHelp = j; } if (spamElem.getText().startsWith(("Compose"))) { pozCompose = j; } if (spamElem.getText().startsWith(("New"))) { pozNewFolder = j; } if (spamElem.getText().startsWith(("Trash"))) { System.out.println(j + " Trash is " + spamElem.getTagName() + " " + spamElem.getText()); pozTrash = j; break; } } System.out.println(pozTrash); WebElement trashElem = childs.get(pozTrash); /* * System.out.println("trashElem " + trashElem.getTagName() + * " text " + trashElem.getText() + " class_atribute " + * trashElem.getAttribute("class") + " data_action " + * trashElem.getAttribute("data_action")); */ WebElement trashFolderEmpty = trashElem.findElement( By.xpath("//a[@class='x-gap btn btn-trash']/span/span[@class='btn icon icon-delete']")); /* * System.out.println("spamEmptyFolder " + * spamFolderEmpty.getTagName() + " text " + * spamFolderEmpty.getText() + " location " + * spamFolderEmpty.isEnabled()); */ trashFolderEmpty.click(); int timeOut = 5; WebDriverWait wait = new WebDriverWait(driver, timeOut); driver.switchTo().alert(); /* for Chrome is not working WebElement modalPopUp = driver.findElement(By .className("modal-hd yui3-widget-hd")); */ WebElement btnDeleteSpamEmails = driver.findElement(By.className("btn left right default")); /* * <button id="okayModalOverlay" class="btn left right default" * title="OK" role="button" data-action="ok">OK</button> */ btnDeleteSpamEmails.click(); driver.manage().timeouts().implicitlyWait(60, TimeUnit.SECONDS); driver.switchTo().activeElement(); // verify msg after you delete spam emails System.out.println(driver.getCurrentUrl()); driver.quit(); } catch (Exception ex) { ex.printStackTrace(); driver.quit(); } }
From source file:cn.edu.hfut.dmic.webcollector.example.QianQuCrawler.java
License:Open Source License
public void startS() { String url = null;/*from w w w.j a va 2 s.co 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.uniandes.csw.ClinicaDeProblemas.web.test.ClinicaDeProblemasTest.java
@Test public void testCreateRecurso() throws Exception { /**/* w w w . j a va 2 s . c o m*/ * Comando que realiza click sobre el boton "create" del toolbar. La * funcin 'find' encuentra el control y posteriormente hace clic en el * mismo. La forma en la que se busca el control es utilizando * expresiones xPath ya que los id de los mismos nunca son iguales (se * generan con junto con el valor de componentId que vara). */ driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click(); /** * Comando que duerme el Thread del test por 2 segundos para dejar que * el efecto 'slide down' de backbone abra el formulario de createSport. */ Thread.sleep(2000); /** * Comando que busca el elemento 'name' en el html actual. * Posteriormente limpia su contenido (comando clean). */ driver.findElement(By.id("name")).clear(); /** * Comando que simula la escritura de un valor en el elemento(sendKeys) * con el String de parmetro sobre // el elemento encontrado. */ driver.findElement(By.id("name")).sendKeys("Recurso1"); driver.findElement(By.id("tema")).clear(); driver.findElement(By.id("tema")).sendKeys("tema1"); driver.findElement(By.id("dificultad")).clear(); driver.findElement(By.id("dificultad")).sendKeys("dificultad1"); driver.findElement(By.id("tipo")).clear(); driver.findElement(By.id("tipo")).sendKeys("tipo1"); driver.findElement(By.id("semestre")).clear(); driver.findElement(By.id("semestre")).sendKeys("201220"); driver.findElement(By.id("materia")).clear(); driver.findElement(By.id("materia")).sendKeys("fisica1"); driver.findElement(By.id("Url")).clear(); driver.findElement(By.id("Url")).sendKeys("http://url"); driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys("123123"); /** * Comando que encuentra y hace clic sobre el boton "Save" del toolbar * (una vez mas encontrado por una expresin Xpath) */ driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click(); /** * Comando que duerme el thread para esperar el efecto de slide down que * abre la lista */ Thread.sleep(2000); /** * Comando que obtiene el div azul de creacin exitosa. Si se obtiene, * la prueba va bien, si no, saldr un error y la prueba quedar como * fllida. */ WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]")); /** * Comando que obtiene la tabla con el elemento que se cre * anteriormente. */ List<WebElement> table = driver .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr")); boolean sucess = false; /** * Se itera sobre los elementos de la tabla para ver si el nuevo * elemento creado est en la lista */ for (WebElement webElement : table) { List<WebElement> elems = webElement.findElements(By.xpath("td")); if (elems.get(0).getText().equals("123123") && elems.get(1).getText().equals("123123") && elems.get(2).getText().equals("123123")) { /** * si se encuentra la fila, la variable 'fail' pasa a true, * indicando que el elemento creado esta en la lista. */ sucess = true; } } /** * la prueba es exitosa si se encontr el dialogo de creacin exitosa y * el nuevo elemento est en la lista. */ assertTrue(dialog != null && sucess); }
From source file:co.edu.uniandes.csw.ClinicaDeProblemas.web.test.ClinicaDeProblemasTest.java
@Test public void testCreateUti() throws Exception { /**/*from www . ja va2 s . c o m*/ * Comando que realiza click sobre el boton "create" del toolbar. La * funcin 'find' encuentra el control y posteriormente hace clic en el * mismo. La forma en la que se busca el control es utilizando * expresiones xPath ya que los id de los mismos nunca son iguales (se * generan con junto con el valor de componentId que vara). */ driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click(); /** * Comando que duerme el Thread del test por 2 segundos para dejar que * el efecto 'slide down' de backbone abra el formulario de createSport. */ Thread.sleep(2000); /** * Comando que busca el elemento 'name' en el html actual. * Posteriormente limpia su contenido (comando clean). */ driver.findElement(By.id("name")).clear(); /** * Comando que simula la escritura de un valor en el elemento(sendKeys) * con el String de parmetro sobre // el elemento encontrado. */ driver.findElement(By.id("name")).sendKeys("name"); driver.findElement(By.id("salon")).clear(); driver.findElement(By.id("salon")).sendKeys("Salon1"); driver.findElement(By.id("materia")).clear(); driver.findElement(By.id("materia")).sendKeys("materia1"); driver.findElement(By.id("informacion")).clear(); driver.findElement(By.id("informacion")).sendKeys("info1"); /** * Comandos para llenar el campo maxAge */ driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys("123123"); /** * Comando que encuentra y hace clic sobre el boton "Save" del toolbar * (una vez mas encontrado por una expresin Xpath) */ driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click(); /** * Comando que duerme el thread para esperar el efecto de slide down que * abre la lista */ Thread.sleep(2000); /** * Comando que obtiene el div azul de creacin exitosa. Si se obtiene, * la prueba va bien, si no, saldr un error y la prueba quedar como * fllida. */ WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]")); /** * Comando que obtiene la tabla con el elemento que se cre * anteriormente. */ List<WebElement> table = driver .findElements(By.xpath("//table[contains(@class,'table striped')]/tbody/tr")); boolean sucess = false; /** * Se itera sobre los elementos de la tabla para ver si el nuevo * elemento creado est en la lista */ for (WebElement webElement : table) { List<WebElement> elems = webElement.findElements(By.xpath("td")); if (elems.get(0).getText().equals("123123") && elems.get(1).getText().equals("123123") && elems.get(2).getText().equals("123123")) { /** * si se encuentra la fila, la variable 'fail' pasa a true, * indicando que el elemento creado esta en la lista. */ sucess = true; } } /** * la prueba es exitosa si se encontr el dialogo de creacin exitosa y * el nuevo elemento est en la lista. */ assertTrue(dialog != null && sucess); }
From source file:co.edu.uniandes.csw.RigitalApp.test.CMSTest.java
@Test public void testCrearMaquina() throws Exception { driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click(); Thread.sleep(2000);/*w w w . j a v a 2 s .c o m*/ driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys("cms prueba"); Thread.sleep(2000); driver.findElement(By.id("version")).clear(); driver.findElement(By.id("version")).sendKeys("3.0"); Thread.sleep(2000); driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click(); Thread.sleep(2000); WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]")); List<WebElement> table = driver .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr")); boolean sucess = false; System.out.println(table); for (WebElement webElement : table) { List<WebElement> elems = webElement.findElements(By.xpath("td")); if (elems.get(1).getText().equals("cms prueba") && elems.get(2).getText().equals("3")) { sucess = true; } } System.out.println(sucess); assertTrue(dialog != null && sucess); }
From source file:co.edu.uniandes.csw.RigitalApp.test.CMSTest.java
@Test public void testBuscarMaquina() throws Exception { driver.findElement(By.xpath("//button[contains(@id,'button-search')]")).click(); Thread.sleep(2000);/*from w w w .j a v a2 s .com*/ driver.findElement(By.id("btn_name")).click(); Thread.sleep(2000); driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys("prueba"); Thread.sleep(2000); driver.findElement(By.xpath("//button[contains(@id,'button-exec-search')]")).click(); Thread.sleep(2000); List<WebElement> table = driver .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr")); boolean success = true; for (WebElement webElement : table) { List<WebElement> elems = webElement.findElements(By.xpath("td")); success = success && elems.get(1).getText().contains("prueba"); } assertTrue(success); }
From source file:co.edu.uniandes.csw.RigitalApp.test.CMSTest.java
@AfterClass public static void tearDown() throws Exception { driver.get(baseUrl + "/RigitalApp.web/cMS.html"); // Se selecciona la tabla para eliminar todos sus elementos List<WebElement> table = driver .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr")); /**//from www.ja v a 2s . c o m * Se itera sobre los elementos de la tabla para eliminarlos */ for (WebElement webElement : table) { List<WebElement> elems = webElement.findElements(By.xpath("td")); elems.get(3).findElement(By.linkText("Eliminar")).click(); assertTrue(true); } // Se cierra el navegador. driver.quit(); // Se verifica que se haya cerrado efectivamente el navegador. String verificationErrorString = verificationErrors.toString(); if (!"".equals(verificationErrorString)) { fail(verificationErrorString); } }
From source file:co.edu.uniandes.csw.RigitalApp.test.ContenedorWebTest.java
@Test public void testCrearMaquina() throws Exception { driver.findElement(By.xpath("//button[contains(@id,'button-create')]")).click(); Thread.sleep(2000);// w w w .j a va 2 s .c om driver.findElement(By.id("name")).clear(); driver.findElement(By.id("name")).sendKeys("ISIS2603"); Thread.sleep(2000); driver.findElement(By.id("descripcion")).clear(); driver.findElement(By.id("descripcion")).sendKeys("Glassfish para curso de Aplicaciones"); Thread.sleep(2000); driver.findElement(By.id("fechaCreacion")).clear(); driver.findElement(By.id("fechaCreacion")).sendKeys("22/11/2014"); Thread.sleep(2000); driver.findElement(By.className("onoffswitch-label")).click(); Thread.sleep(2000); driver.findElement(By.id("fechaVencimiento")).clear(); driver.findElement(By.id("fechaVencimiento")).sendKeys("20/02/2015"); Thread.sleep(2000); driver.findElement(By.id("puertos")).clear(); driver.findElement(By.id("puertos")).sendKeys("Puerto de administracin 4234 y puerto de escucha 8080"); Thread.sleep(2000); driver.findElement(By.id("servidor")).clear(); driver.findElement(By.id("servidor")).sendKeys("157.253.245.39"); Thread.sleep(2000); driver.findElement(By.id("url")).clear(); driver.findElement(By.id("url")).sendKeys("157.253.353.23:8080"); Thread.sleep(2000); driver.findElement(By.xpath("//button[contains(@id,'button-save')]")).click(); Thread.sleep(2000); WebElement dialog = driver.findElement(By.xpath("//div[contains(@style,'display: block;')]")); List<WebElement> table = driver .findElements(By.xpath("//table[contains(@class,'table-striped')]/tbody/tr")); boolean sucess = false; System.out.println(table); for (WebElement webElement : table) { List<WebElement> elems = webElement.findElements(By.xpath("td")); if (elems.get(1).getText().equals("ISIS2603") && elems.get(2).getText().equals("22/11/2014") && elems.get(3).getText().equals("true")) { sucess = true; } } System.out.println(sucess); assertTrue(dialog != null && sucess); }