DomNodeList<DomElement> domNodeList = page.getElementsByTagName("a");
HtmlPage htmlPage = (HtmlPage) button.click(); DomNodeList<HtmlElement> nodes = htmlPage.getElementsByTagName("table"); ... HtmlTable table = getTheTableIWant(nodes); doSomethingWith(table);
webClient=new WebClient(); HtmlPage page=webClient.getPage(url); for(HtmlElement elem:page.getElementsByTagName("span")) { //And then getChildren(), getText ... }
WebClient webClient = new WebClient(); webClient.setAjaxController(new NicelyResynchronizingAjaxController()); HtmlPage page = webClient.getPage("http://localhost:8080/index.html"); // Initial state assertEquals("Hello !", page.getElementsByTagName("h1").get(0).asText()); // Set value ((HtmlInput)page.getElementsByTagName("input").get(0)).setValueAttribute("world"); // New state assertEquals("Hello world!", page.getElementsByTagName("h1").get(0).asText());
public List<WebElement> findElementsByTagName(String using) { if (!(lastPage() instanceof HtmlPage)) return new ArrayList<WebElement>(); NodeList allElements = ((HtmlPage) lastPage()).getElementsByTagName(using); List<WebElement> toReturn = new ArrayList<WebElement>(allElements.getLength()); for (int i = 0; i < allElements.getLength(); i++) { Node item = allElements.item(i); if (item instanceof HtmlElement) { toReturn.add(newHtmlUnitWebElement((HtmlElement) item)); } } return toReturn; }
WebClient webClient = new WebClient(); HtmlPage page = webClient.getPage("http://www.br.de/fernsehen/bayerisches-fernsehen/sendungen/abendschau/bayerwald-tierpark-livereportage-100.html"); DomNodeList<DomElement> objectList = page.getElementsByTagName("object");
final WebClient webClient = new WebClient(); webClient.setJavaScriptEnabled(false); final HtmlPage page = webClient.getPage("http://www.placeofjo.blogspot.com/"); // Then iterate through for (DomElement element : page.getElementsByTagName("a")){ String link = ((HtmlAnchor)element).getHrefAttribute(); System.out.println(link); }
@Override public List<WebElement> findElementsByTagName(String name) { if ("".equals(name)) { throw new InvalidSelectorException("Unable to locate element by xpath for " + lastPage()); } if (!(lastPage() instanceof HtmlPage)) { return new ArrayList<>(); } NodeList allElements = ((HtmlPage) lastPage()).getElementsByTagName(name); List<WebElement> toReturn = new ArrayList<>(allElements.getLength()); for (int i = 0; i < allElements.getLength(); i++) { Node item = allElements.item(i); if (item instanceof HtmlElement) { toReturn.add(newHtmlUnitWebElement((HtmlElement) item)); } } return toReturn; }
public WebElement findElementByTagName(String name) { if (!(lastPage() instanceof HtmlPage)) throw new IllegalStateException("Cannot find element by name for " + lastPage()); NodeList allElements = ((HtmlPage) lastPage()).getElementsByTagName(name); if (allElements.getLength() > 0) { return newHtmlUnitWebElement((HtmlElement) allElements.item(0)); } throw new NoSuchElementException("Cannot find element with name: " + name); }
@Override public WebElement findElementByTagName(String name) { if (!(lastPage() instanceof HtmlPage)) { throw new IllegalStateException("Unable to locate element by name for " + lastPage()); } NodeList allElements = ((HtmlPage) lastPage()).getElementsByTagName(name); if (allElements.getLength() > 0) { return newHtmlUnitWebElement((HtmlElement) allElements.item(0)); } throw new NoSuchElementException("Unable to locate element with name: " + name); }
/** * This is overridden instead of {@link #computeElements()} in order to prevent caching at all. * * {@inheritDoc} */ @Override public List<DomNode> getElements() { final List<DomNode> response = new ArrayList<>(); final DomElement domElement = (DomElement) getDomNodeOrDie(); for (DomNode parent = domElement.getParentNode(); parent != null; parent = parent.getParentNode()) { if (parent instanceof HtmlLabel) { response.add(parent); } } final String id = domElement.getId(); if (id != DomElement.ATTRIBUTE_NOT_DEFINED) { for (final DomElement label : domElement.getHtmlPageOrNull().getElementsByTagName("label")) { if (id.equals(label.getAttributeDirect("for"))) { response.add(label); } } } return response; } }
/** * This is overridden instead of {@link #computeElements()} in order to prevent caching at all. * * {@inheritDoc} */ @Override public List<DomNode> getElements() { final List<DomNode> response = new ArrayList<>(); final DomElement domElement = (DomElement) getDomNodeOrDie(); for (DomNode parent = domElement.getParentNode(); parent != null; parent = parent.getParentNode()) { if (parent instanceof HtmlLabel) { response.add(parent); } } final String id = domElement.getId(); if (id != DomElement.ATTRIBUTE_NOT_DEFINED) { for (final DomElement label : domElement.getHtmlPageOrNull().getElementsByTagName("label")) { if (id.equals(label.getAttributeDirect("for"))) { response.add(label); } } } return response; } }
public void checkComponentSource(URL pageName, String xmlunitPage, By pageElementToTest) throws IOException, SAXException { WebClient client = new WebClient(); client.getOptions().setJavaScriptEnabled(false); HtmlPage page = client.getPage(pageName); DomElement element; String locator = pageElementToTest.toString(); locator = locator.substring(locator.indexOf(':') + 1).trim(); if (pageElementToTest instanceof ById) { element = page.getElementById(locator); } else if (pageElementToTest instanceof ByTagName) { element = page.getElementsByTagName(locator).get(0); } else { throw new IllegalArgumentException("Only id and name are supported"); } String pageCode = element.asXml(); checkXmlStructure(xmlunitPage, pageCode); }
public String getPageSourceFromBrowser(String url) throws SiteAnalizeException { WebClient webClient = new WebClient(BrowserVersion.FIREFOX_3_6); HtmlPage firstPage = null; String result = null; try { webClient.setJavaScriptEnabled(true); webClient.setThrowExceptionOnScriptError(false); webClient.setCssEnabled(false); webClient.setUseInsecureSSL(false); webClient.setRedirectEnabled(true); firstPage = webClient.getPage(new URL(url)); result = firstPage.getWebResponse().getContentAsString("UTF-8"); DomNodeList<HtmlElement> button = firstPage.getElementsByTagName("a"); for (HtmlElement htmlElement : button) { if(htmlElement.asText().equals("Buy Now")) { HtmlPage page = htmlElement.click(); //HtmlElement button2 = page.getElementById("market_buynow_dialog_addfunds"); //HtmlPage page2 = button2.click(); String htmlBody = page.getWebResponse().getContentAsString(); System.out.println(htmlBody); } } }
WebClient _webClient = new WebClient( BrowserVersion.FIREFOX_17 ); _webClient.getOptions().setUseInsecureSSL( true ); _webClient.getOptions().setThrowExceptionOnScriptError( false ); _webClient.getOptions().setRedirectEnabled( true ); var page = (HtmlPage)_webClient.getPage( "https://play.google.com/apps/publish/v2/" ); HtmlInput emailElement = (HtmlTextInput)page.getElementById( "Email" ); emailElement.type( Settings.Default.Login ); HtmlInput passwordElement = (HtmlInput)page.getElementById( "Passwd" ); passwordElement.type( Settings.Default.Password ); HtmlSubmitInput signInLink = (HtmlSubmitInput)page.getElementById( "signIn" ); HtmlPage page2 = (HtmlPage)signInLink.click(); _webClient.waitForBackgroundJavaScript( 2000 ); var installsNode = ( from p in page2.getElementsByTagName( "p" ).toArray().Cast<HtmlParagraph>() let data_column = p.getAttribute( "data-column" ) where data_column != null && "INSTALLS".Equals( data_column, StringComparison.OrdinalIgnoreCase ) select p ).FirstOrDefault();
public static void main(String[] args) throws FailingHttpStatusCodeException, IOException { final WebClient webClient = new WebClient(BrowserVersion.FIREFOX_17); WebRequest request = new WebRequest(new URL( "http://www.firstpost.com/tag/crime-in-india")); webClient.getOptions().setThrowExceptionOnScriptError(false); webClient.setJavaScriptTimeout(10000); webClient.getOptions().setJavaScriptEnabled(true); webClient.setAjaxController(new NicelyResynchronizingAjaxController()); webClient.getOptions().setTimeout(10000); HtmlPage page = webClient.getPage(request); webClient.waitForBackgroundJavaScript(10000); List<HtmlAnchor> anchors1 = page.getAnchors(); HtmlAnchor link2 = null; for (HtmlAnchor anchor : anchors1) { if (anchor.asText().indexOf( "Why do we care more when NRIs go missing?") > -1) { link2 = anchor; break; } } page = link2.click(); webClient.waitForBackgroundJavaScript(10000); DomNodeList<DomElement> paras = page.getElementsByTagName("p"); for (DomElement el : paras.toArray(new DomElement[paras.size()])) { System.out.println(el.asText()); } }
@Test @RunAsClient public final void testSatisfied() throws Exception { UserAgent ua = assertInitialPage(); HtmlPage page = ua.getHomePage(); // Script HtmlAnchor trigger = (HtmlAnchor)page.getElementById("trigger"); trigger.click(); List<String> alerts = ua.getAlerts(page); assertEquals(Arrays.asList("OK MEN"), alerts); // CSS DomNodeList<DomElement> links = page.getElementsByTagName("link"); assertEquals(1, links.size()); HtmlLink link = (HtmlLink)links.get(0); assertTrue(link.getHrefAttribute().endsWith("main.css")); } }
@Test @RunAsClient public final void testSatisfied() throws Exception { UserAgent ua = assertInitialPage(); HtmlPage page = ua.getHomePage(); // Script HtmlAnchor trigger = (HtmlAnchor)page.getElementById("trigger"); trigger.click(); List<String> alerts = ua.getAlerts(page); assertEquals(Arrays.asList("OK MEN"), alerts); // CSS DomNodeList<DomElement> links = page.getElementsByTagName("link"); assertEquals(1, links.size()); HtmlLink link = (HtmlLink)links.get(0); assertTrue(link.getHrefAttribute().endsWith("main.css")); } }
@Test public void testSatisfied() throws Exception { UserAgent ua = assertInitialPage(); HtmlPage page = ua.getHomePage(); // Script HtmlAnchor trigger = (HtmlAnchor)page.getElementById("trigger"); trigger.click(); List<String> alerts = ua.getAlerts(page); assertEquals(Arrays.asList("OK MEN"), alerts); // CSS DomNodeList<DomElement> links = page.getElementsByTagName("link"); assertEquals(2, links.size()); HtmlLink link1 = (HtmlLink)links.get(0); assertEquals("stylesheet", link1.getRelAttribute()); assertEquals("/juzu/main.css", link1.getHrefAttribute()); assertEquals("text/css", link1.getTypeAttribute()); HtmlLink link2 = (HtmlLink)links.get(1); assertEquals("stylesheet", link2.getRelAttribute()); assertEquals("/juzu/main.less", link2.getHrefAttribute()); assertEquals("text/less", link2.getTypeAttribute()); } }
@Test public void testSatisfied() throws Exception { UserAgent ua = assertInitialPage(); HtmlPage page = ua.getHomePage(); // Script HtmlAnchor trigger = (HtmlAnchor)page.getElementById("trigger"); trigger.click(); List<String> alerts = ua.getAlerts(page); assertEquals(Arrays.asList("OK MEN"), alerts); // CSS DomNodeList<DomElement> links = page.getElementsByTagName("link"); assertEquals(2, links.size()); HtmlLink link1 = (HtmlLink)links.get(0); assertEquals("stylesheet", link1.getRelAttribute()); assertEquals("/juzu/main.css", link1.getHrefAttribute()); assertEquals("text/css", link1.getTypeAttribute()); HtmlLink link2 = (HtmlLink)links.get(1); assertEquals("stylesheet", link2.getRelAttribute()); assertEquals("/juzu/main.less", link2.getHrefAttribute()); assertEquals("text/less", link2.getTypeAttribute()); } }