List of usage examples for org.openqa.selenium WebElement getTagName
String getTagName();
From source file:com.gargoylesoftware.htmlunit.html.HtmlAnchorTest.java
License:Apache License
/** * @throws Exception if an error occurs// w ww . ja v a2s . co m */ @Test @Alerts("page2.html") public void clickNestedSubmitElement() throws Exception { final String html = "<html>\n" + "<body>\n" + " <a href='page2.html'>\n" + " <input type='submit' id='theInput' />\n" + " </a>\n" + "</body></html>"; getMockWebConnection().setDefaultResponse(""); final WebDriver driver = loadPage2(html); final WebElement input = driver.findElement(By.id("theInput")); assertEquals("input", input.getTagName()); input.click(); assertEquals(URL_FIRST + getExpectedAlerts()[0], driver.getCurrentUrl()); }
From source file:com.gargoylesoftware.htmlunit.html.HtmlPage3Test.java
License:Apache License
/** * Test for 3306491.//from w w w .ja va 2 s . c o m * @throws Exception if an error occurs */ @Test public void formElementCreatedFromJavascript() throws Exception { final String html = "<html>\n" + "<head>\n" + "<script type='text/javascript'>\n" + " function modifyForm() {\n" + " var myForm = document.forms['test_form'];\n" + " var el = document.createElement('input');\n" + " el.setAttribute('addedBy','js');\n" + " el.name = 'myHiddenField';\n" + " el.value = 'myValue';\n" + " el.type = 'hidden';\n" + " myForm.appendChild(el);\n" + "}\n" + "</script>\n" + "</head>\n" + "<body onLoad='modifyForm()'>\n" + " <form id='test_form' action='http://www.sourceforge.com/' method='post'>\n" + " <input type='submit' value='click'/>\n" + " </form>\n" + "</body>\n" + "</html>"; final WebDriver driver = loadPage2(html); final List<WebElement> elements = driver.findElements(By.xpath("//*")); assertEquals(7, elements.size()); assertEquals("html", elements.get(0).getTagName()); assertEquals("head", elements.get(1).getTagName()); assertEquals("script", elements.get(2).getTagName()); assertEquals("body", elements.get(3).getTagName()); assertEquals("form", elements.get(4).getTagName()); assertEquals("input", elements.get(5).getTagName()); final WebElement input = elements.get(6); assertEquals("input", input.getTagName()); assertEquals("myHiddenField", input.getAttribute("name")); assertEquals("js", input.getAttribute("addedBy")); assertEquals("js", input.getAttribute("addedby")); }
From source file:com.gargoylesoftware.htmlunit.javascript.host.html.HTMLElement2Test.java
License:Apache License
/** * Test the use of innerHTML to set new HTML code. * @throws Exception if the test fails//from w w w .jav a2 s .co m */ @Test @Alerts({ "Old = <b>Old innerHTML</b><!-- old comment -->", "New = <b><i id=\"newElt\">New cell value</i></b>", "I" }) public void getSetInnerHTMLComplex() throws Exception { final String html = "<html>\n" + "<head>\n" + " <title>test</title>\n" + " <script>\n" + " function doTest() {\n" + " var myNode = document.getElementById('myNode');\n" + " alert('Old = ' + myNode.innerHTML);\n" + " myNode.innerHTML = ' <b><i id=\"newElt\">New cell value</i></b>';\n" + " alert('New = ' + myNode.innerHTML);\n" + " alert(document.getElementById('newElt').tagName);\n" + " }\n" + " </script>\n" + "</head>\n" + "<body onload='doTest()'>\n" + "<p id='myNode'><b>Old innerHTML</b><!-- old comment --></p>\n" + "</body>\n" + "</html>"; final WebDriver driver = loadPageWithAlerts2(html); final WebElement pElt = driver.findElement(By.id("myNode")); assertEquals("p", pElt.getTagName()); final WebElement elt = driver.findElement(By.id("newElt")); assertEquals("New cell value", elt.getText()); assertEquals(1, driver.getWindowHandles().size()); }
From source file:com.gargoylesoftware.htmlunit.javascript.host.html.HTMLElement2Test.java
License:Apache License
/** * Test the use of outerHTML to set new HTML code. * @throws Exception if the test fails//from ww w .ja v a2s . c o m */ @Test @Alerts({ "Old = <b id=\"innerNode\">Old outerHTML</b>", "New = <b><i id=\"newElt\">New cell value</i></b>", "I" }) public void getSetOuterHTMLComplex() throws Exception { final String html = "<html>\n" + "<head>\n" + " <title>test</title>\n" + " <script>\n" + " function doTest() {\n" + " var myNode = document.getElementById('myNode');\n" + " var innerNode = document.getElementById('innerNode');\n" + " alert('Old = ' + innerNode.outerHTML);\n" + " innerNode.outerHTML = ' <b><i id=\"newElt\">New cell value</i></b>';\n" + " alert('New = ' + myNode.innerHTML);\n" + " alert(document.getElementById('newElt').tagName);\n" + " }\n" + " </script>\n" + "</head>\n" + "<body onload='doTest()'>\n" + "<p id='myNode'><b id='innerNode'>Old outerHTML</b></p>\n" + "</body>\n" + "</html>"; final WebDriver driver = loadPageWithAlerts2(html); final WebElement pElt = driver.findElement(By.id("myNode")); assertEquals("p", pElt.getTagName()); final WebElement elt = driver.findElement(By.id("newElt")); assertEquals("New cell value", elt.getText()); assertEquals(1, driver.getWindowHandles().size()); }
From source file:com.google.caja.plugin.BrowserTestCase.java
License:Apache License
protected static String renderElements(List<WebElement> elements) { StringBuilder sb = new StringBuilder(); sb.append('['); for (int i = 0, n = elements.size(); i < n; i++) { if (i != 0) { sb.append(", "); }/* ww w . j av a 2 s . co m*/ WebElement el = elements.get(i); sb.append('<').append(el.getTagName()); String id = el.getAttribute("id"); if (id != null) { sb.append(" id=\""); Escaping.escapeXml(id, false, sb); sb.append('"'); } String className = el.getAttribute("class"); if (className != null) { sb.append(" class=\""); Escaping.escapeXml(className, false, sb); sb.append('"'); } sb.append('>'); } sb.append(']'); return sb.toString(); }
From source file:com.googlecode.fightinglayoutbugs.DetectElementsWithInvisibleFocus.java
License:Apache License
@Nullable private FocusedElement focusFirstElement(WebPage webPage) { WebElement firstFocusedWebElement = getFocusedWebElement(webPage); if (firstFocusedWebElement == null) { // Try to focus first element ... try {/*from w ww . java2 s. c o m*/ WebDriver driver = webPage.getDriver(); WebElement bodyElement = driver.findElement(By.tagName("body")); bodyElement.sendKeys(Keys.TAB); } catch (Exception e) { LOG.warn("Failed to focus first element.", e); } firstFocusedWebElement = getFocusedWebElement(webPage); } else if ("body".equals(firstFocusedWebElement.getTagName().toLowerCase())) { firstFocusedWebElement.sendKeys(Keys.TAB); firstFocusedWebElement = getFocusedWebElement(webPage); } if (firstFocusedWebElement != null && !"body".equals(firstFocusedWebElement.getTagName().toLowerCase())) { return toFocusedElement(firstFocusedWebElement, webPage); } else { return null; } }
From source file:com.googlecode.fightinglayoutbugs.DetectElementsWithInvisibleFocus.java
License:Apache License
@Nullable private FocusedElement focusNextElement(FocusedElement focusedElement, WebPage webPage, Collection<WebElement> visitedElements) { focusedElement.element.sendKeys(Keys.TAB); final WebElement focusedWebElement = getFocusedWebElement(webPage); if (focusedWebElement != null && !visitedElements.contains(focusedWebElement) && !"body".equals(focusedWebElement.getTagName().toLowerCase())) { visitedElements.add(focusedWebElement); return toFocusedElement(focusedWebElement, webPage); } else {//w w w .j av a 2 s .c o m return null; } }
From source file:com.googlecode.fightinglayoutbugs.DetectInvalidImageUrls.java
License:Apache License
private void checkStyleAttributes() { for (WebElement element : _webPage.findElements(By.xpath("//*[@style]"))) { final String css = element.getAttribute("style"); for (String importUrl : getImportUrlsFrom(css)) { checkCssResourceAsync(/* w ww .j a va 2 s. com*/ importUrl + " (imported in style attribute of <" + element.getTagName() + "> element)", importUrl, _baseUrl, _documentCharset); } for (String url : extractUrlsFrom(css)) { try { checkImageUrl(url, "Detected <" + element.getTagName() + "> element with invalid image URL \"" + url + "\" in its style attribute"); } catch (MalformedURLException e) { addLayoutBugIfNotPresent( "Detected <" + element.getTagName() + "> element with invalid image URL \"" + url + "\" in its style attribute -- " + e.getMessage()); } } } }
From source file:com.hotwire.selenium.desktop.us.billing.car.impl.accordion.AcPaymentMethodFragment.java
License:Open Source License
@Override public CarPaymentMethod state(String state) { WebElement element = getPaymentState(); if ("select".equals(element.getTagName())) { // We got dropdown. Select select = new Select(element); try {// w w w . ja v a 2s .co m int index = Integer.parseInt(state); select.selectByIndex(index); } catch (NumberFormatException e) { select.selectByVisibleText(state); } } else if ("input".equals(element.getTagName())) { sendKeys(element, state); } else { throw new RuntimeException("Unsupported html tag of state field.."); } return this; }
From source file:com.hotwire.selenium.desktop.us.billing.onepage.HotelCreditCardFragment.java
License:Open Source License
public HotelCreditCardFragment withState(String state) { WebElement displayedElement = null; for (WebElement item : this.state) { if (item.isDisplayed() && item.isEnabled()) { displayedElement = item;/* w w w. ja va 2 s . co m*/ break; } } if (displayedElement == null) { return this; } ExtendedSelect select = new ExtendedSelect(displayedElement); try { select.selectByIndex(Integer.parseInt(state)); return this; } catch (NumberFormatException e) { // Do nothing. State is non-numeric and continue. } if (displayedElement != null) { if (displayedElement.getTagName().equals("select")) { new ExtendedSelect(displayedElement).selectIfVisibleTextStartsWithText(state); } else { // Default to sendkeys. Most likely element is an input text // area. displayedElement.sendKeys(state); } } // Else do nothing as this page is doing country specific elements and // some countries // will not have this element. return this; }