类org.openqa.selenium.internal.FindsByCssSelector源码实例Demo

下面列出了怎么用org.openqa.selenium.internal.FindsByCssSelector的API类实例代码及写法,或者点击链接到github查看源代码。

@SuppressWarnings({"squid:S3776", "squid:MethodCyclomaticComplexity"})
public RobustElementWrapper(
                final WebElement element, final WrapsContext context, final By locator, final int index) {
    
    // if specified element is already robust
    if (element instanceof RobustWebElement) {
        RobustElementWrapper wrapper = ((InterceptionAccessor) element).getInterceptor();
        this.acquiredAt = wrapper.acquiredAt;
        
        this.wrapped = wrapper.wrapped;
        this.context = wrapper.context;
        this.locator = wrapper.locator;
        this.index = wrapper.index;
    } else {
        Objects.requireNonNull(context, "[context] must be non-null");
        Objects.requireNonNull(locator, "[locator] must be non-null");
        if (index < OPTIONAL) {
            throw new IndexOutOfBoundsException("Specified index is invalid");
        }
        
        this.wrapped = element;
        this.context = context;
        this.locator = locator;
        this.index = index;
    }
    
    driver = WebDriverUtils.getDriver(this.context.getWrappedContext());
    
    findsByCssSelector = (driver instanceof FindsByCssSelector);
    findsByXPath = (driver instanceof FindsByXPath);
    
    if ((this.index == OPTIONAL) || (this.index > 0)) {
        if (findsByXPath && ( ! (this.locator instanceof By.ByCssSelector))) {
            selector = ByType.xpathLocatorFor(this.locator);
            if (this.index > 0) {
                selector += "[" + (this.index + 1) + "]";
            }
            strategy = Strategy.JS_XPATH;
            
            this.locator = By.xpath(this.selector);
        } else if (findsByCssSelector) {
            selector = ByType.cssLocatorFor(this.locator);
            if (selector != null) {
                strategy = Strategy.JS_CSS;
            }
        }
    }
    
    if (this.wrapped == null) {
        if (this.index == OPTIONAL) {
            acquireReference(this);
        } else {
            refreshReference(null);
        }
    } else if (acquiredAt == 0) {
        acquiredAt = System.currentTimeMillis();
    }
}
 
源代码2 项目: bobcat   文件: WebDriverWrapper.java
/**
 * Finds element by css selector.
 */
@Override
public WebElement findElementByCssSelector(String cssSelector) {
  return ((FindsByCssSelector) super.getWrappedDriver()).findElementByCssSelector(cssSelector);
}
 
源代码3 项目: bobcat   文件: WebDriverWrapper.java
/**
 * Finds elements by css selector.
 */
@Override
public List<WebElement> findElementsByCssSelector(String cssSelector) {
  return ((FindsByCssSelector) super.getWrappedDriver()).findElementsByCssSelector(cssSelector);
}
 
源代码4 项目: darcy-webdriver   文件: TargetedWebElement.java
@Override
public WebElement findElementByCssSelector(String using) {
    return targetedWebElement(((FindsByCssSelector) element()).findElementByCssSelector(using));
}
 
源代码5 项目: darcy-webdriver   文件: TargetedWebElement.java
@Override
public List<WebElement> findElementsByCssSelector(String using) {
    return targetedWebElements(((FindsByCssSelector) element()).findElementsByCssSelector(using));
}
 
@Override
public WebElement findElementByCssSelector(String using) {
    return targetedWebElement(((FindsByCssSelector) driver()).findElementByCssSelector(using));
}
 
@Override
public List<WebElement> findElementsByCssSelector(String using) {
    return targetedWebElements(((FindsByCssSelector) driver()).findElementsByCssSelector(using));
}
 
 类所在包
 同包方法