Example usage for org.openqa.selenium WebElement getTagName

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

Introduction

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

Prototype

String getTagName();

Source Link

Document

Get the tag name of this element.

Usage

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;
}