Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在硒中添加element.element?_Java_Selenium Webdriver_Qtp_Hp Uft - Fatal编程技术网

Java 如何在硒中添加element.element?

Java 如何在硒中添加element.element?,java,selenium-webdriver,qtp,hp-uft,Java,Selenium Webdriver,Qtp,Hp Uft,假设一个页面上有多个元素1s和多个元素2s。对每个元素使用单独的函数,我让它返回唯一的webelement 假设我想找到一个元素,它是元素2的子元素。在QTP中,我可以通过以下方式实现: .WebElement(Element1).WebElement(Element2).WebElement() 有没有一种方法可以在硒中轻松做到这一点?我知道我可以做findelement().findelement().findelement(),但我找不到方法来做element1.element2.fin

假设一个页面上有多个元素
1
s和多个元素
2
s。对每个元素使用单独的函数,我让它返回唯一的
webelement

假设我想找到一个元素,它是元素
2
的子元素。在
QTP
中,我可以通过以下方式实现:

.WebElement(Element1).WebElement(Element2).WebElement()
有没有一种方法可以在硒中轻松做到这一点?我知道我可以做
findelement().findelement().findelement()
,但我找不到方法来做
element1.element2.findelement()

编辑:这可能会更清楚

public WebElement testLoading(WebDriver driver){
    return driver.findElement(By.xpath("//div[@class='loading-test test-loadingTest']"));
}
目前的执行情况:

for(WebElement e : Collection(driver)){
    e.findElement(By.xpath(".//div[@class='loading-test test-loadingTest']"))
}
我想要的是:

e.findElement(testLoading(driver))

通过改变我构建元素的方式,我能够得到我想要的结果

例如:

public By fooBar(AndroidDriver driver){
        return By.className("foo");
}

public boolean waitForElement(AndroidDriver driver, By element, int timeout){
    try{
        driver.manage().timeouts().implicitlyWait(timeout, TimeUnit.SECONDS);
        driver.findElement(element);
    }
    catch(NoSuchElementException nseeContinue){
        return false;
    }
    return true;

}

waitForElement(driver, fooBar(driver), 20);

你能写更多的代码吗?想知道你以前是否听说过XPath。