如何用selenium WebDriver找到文本字段的元素?

时间:2014-02-17 23:06:18

标签: java selenium

我已经有一个谷歌的例子了。请解释一下,是什么意思.findElement(By.name("q")); WD如何理解它的文本字段?

 WebDriver driver = new HtmlUnitDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com");

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("q"));

1 个答案:

答案 0 :(得分:3)

正在为其q属性选择值为name的元素。它不知道该元素是input,只是将其分配给WebElement类型。

如果您想确定它是否为input,可以致电WebElement#getTagName并通过WebElement#getAttribute()获取其类型

示例

WebDriver driver = new FirefoxDriver();

// And now use this to visit Google
driver.get("http://www.google.com");

// Find the text input element by its name
WebElement element = driver.findElement(By.name("q"));

if (element.getTagName().equalsIgnoreCase("input") 
        && element.getAttribute("type").equalsIgnoreCase("text")) {
    System.out.println("its a textbox");
}