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:io.github.seleniumquery.by.firstgen.css.combinators.DirectDescendantCssSelector.java

License:Apache License

@Override
public boolean is(WebDriver driver, WebElement element, ArgumentMap argumentMap,
        DescendantSelector descendantSelector) {
    WebElement parent = SelectorUtils.parent(element);
    //noinspection SimplifiableIfStatement
    if (parent == null || "html".equals(parent.getTagName())) {
        return false;
    }/* www.j a  va 2  s  .co  m*/
    return elementMatchesDescendantSelector(driver, element, descendantSelector, argumentMap)
            && parentMatchesAncestorSelector(driver, parent, descendantSelector, argumentMap);
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.DisabledPseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    // #Cross-Driver
    // When there is a not disabled <option> under a disabled <optgroup>, HtmlUnitDriver considers
    // the <option> to be enabled, when it is not
    if (DriverVersionUtils.getInstance().isHtmlUnitDriver(driver) && OPTION.equals(element.getTagName())) {
        WebElement optionParent = SelectorUtils.parent(element);
        //noinspection ConstantConditions
        if (OPTGROUP.equals(optionParent.getTagName()) && !optionParent.isEnabled()) {
            return true;
        }//w w  w. java 2s  .c  o  m
    }
    return !element.isEnabled() && DISABLEABLE_TAGS.contains(element.getTagName());
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.EnabledPseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    // #Cross-Driver
    // When there is a not disabled <option> under a disabled <optgroup>, HtmlUnitDriver considers
    // the <option> to be enabled, when it is not
    if (DriverVersionUtils.getInstance().isHtmlUnitDriver(driver) && OPTION_TAG.equals(element.getTagName())) {
        WebElement optionParent = SelectorUtils.parent(element);
        //noinspection ConstantConditions
        if (OPTGROUP_TAG.equals(optionParent.getTagName()) && !optionParent.isEnabled()) {
            return false;
        }/*  w w  w. java 2s.  c o m*/
    }
    return element.isEnabled() && ENABLEABLE_TAGS.contains(element.getTagName());
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.FocusablePseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    if (!isVisible(element)) {
        return false;
    }//w  w  w . ja va  2s.c o m
    if (DisabledPseudoClass.DISABLEABLE_TAGS.contains(element.getTagName())) {
        return element.isEnabled();
    }
    if ("a".equals(element.getTagName()) && element.getAttribute("href") != null) {
        return true;
    }
    //noinspection SimplifiableIfStatement
    if ("area".equals(element.getTagName()) && element.getAttribute(
            "href") != null /* && inside a named map */ /* && there is a visible image using the map */) {
        return true;
    }
    return element.getAttribute("tabindex") != null;
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.HeaderPseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    return HEADER_TAGS.contains(element.getTagName());
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.InputPseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    return FORM_ELEMENT_TAGS.contains(element.getTagName());
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.OnlyChildPseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    WebElement parent = SelectorUtils.parent(element);
    //noinspection SimplifiableIfStatement
    if (parent == null // parent is null when element is <HTML>
            || "html".equals(parent.getTagName()) || "body".equals(parent.getTagName())
            || "head".equals(parent.getTagName())) {
        // I have tested and :only-child never worked direct children of those
        return false;
    }/*from w  ww.  j  a v a  2  s  .c  om*/
    return SelectorUtils.itselfWithSiblings(element).size() == 1;
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.OnlyOfTypePseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    String tagName = element.getTagName();
    return driver.findElements(By.tagName(tagName)).size() == 1;
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.ResetPseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    return ("input".equals(element.getTagName()) || "button".equals(element.getTagName()))
            && RESET.equalsIgnoreCase(element.getAttribute("type"));
}

From source file:io.github.seleniumquery.by.firstgen.css.pseudoclasses.RootPseudoClass.java

License:Apache License

@Override
public boolean isPseudoClass(WebDriver driver, WebElement element, PseudoClassSelector pseudoClassSelector) {
    return "html".equals(element.getTagName());
}