List of usage examples for org.openqa.selenium WebElement getTagName
String getTagName();
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()); }