Selenium 2.0 Web驱动程序:isTextPresent的实现

Ale*_*ins 6 junit selenium

我正在寻找一个有效的实现.我提出的最好的是:

    public boolean isTextPresent(String string) {

        for (WebElement e : drv.findElements(By.cssSelector("*"))) {

            if (e.isDisplayed() && e.getText().contains(string)) {
                return true;
            }

        }
        return false;
    }
Run Code Online (Sandbox Code Playgroud)

pre*_*sto 5

更快的方法是这样的:

public boolean isTextPresent(string str)
{
    IWebElement bodyElement = driver.FindElement(By.TagName("body"));
    return bodyElement.Text.contains(str);
}
Run Code Online (Sandbox Code Playgroud)

它在C#中,但它是相同的概念.获取body标签的文本会自动返回所有嵌套元素的文本.我唯一不确定的是隐藏元素是否包括在内.