2014-02-17 131 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"); 
} 
相關問題