5.7.7 Displayed/isDisplayed()
有时候,即使元素在页面上看不到了,在使用Ctrl+F查看源代码或使用FindElement命令进行查找时,仍然能找到该元素。这是因为该原素偶然在HTML代码中,只是没有显示出来(例如该元素的visibility属性为hidden或者display属性为none,它就不会显示到页面上,但它确实存在于该页面),所以,这个时候用Displayed/isDisplayed()才能验证该元素是否在页面上显示。
假设要验证“Google搜索”按钮是否显示在页面上(而非仅存在于页面的Html代码中),可编写程序清单5-53程序清单5-54所示的代码。
程序清单5-53 C#代码
IWebDriver driver = new FirefoxDriver();
INavigation navigation = driver.Navigate();
navigation.GoToUrl("https://www.google.com.hk");
IWebElement btn = driver.FindElement(By.Name("btnK"));
bool visiblility = btn.Displayed;
Console.WriteLine("元素是否显示:" + visiblility);
Console.ReadKey();
程序清单5-54 Java代码
WebDriver driver = new FirefoxDriver();
Navigation navigation = driver.navigate();
navigation.to("https://www.google.com.hk");
WebElement btn = driver.findElement(By.name("btnK"));
boolean visiblility = btn.isDisplayed();
System.out.println("元素是否显示:" + visiblility);
执行结果如图5-58所示。
图5-58 执行结果
5.7.8 GetAttribute(attributeName)
GetAttribute( )方法用于获取指定属性的值,attributeName为属性的名称。
假设要获取“Google搜索”的value属性。如图5-59所示,首先打开Google首页。
图5-59 Google首页