2014-02-17 133 views
1

我已经有一个谷歌的例子。请解释我,.findElement(By.name("q")); WD怎么理解它是文本字段?如何用selenium WebDriver查找textfield元素?

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")); 

回答

3

它与为其name属性的值q选择一个元素。它不知道该元素是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"); 
} 
相关问题