介绍了第一种封装selenium操作的方法之后,再来介绍官方提供的第二种方法:
Another common usage of wrapping Selenium methods is to check for presence of an element on a page before carrying out some operation.
这种方法又叫做“safe operation”--安全操作。
如下示例:
public void safeClick(String elementLocator) {
if(driver.isElementPresent(elementLocator)) {
driver.click(elementLocator);
} else {
// Using the TestNG API for logging
Reporter.log("Element: " + elementLocator + ", is not available on a page - "
+driver.getLocation());
}
}
这里使用了TestNG的API。
public void safeClick(String elementLocator) {
WebElement webElement = getDriver().findElement(By.XXXX(elementLocator));
if(webElement != null) {
driver.click(webElement);
} else {
// Using the TestNG API for logging
Reporter.log("Element: " + elementLocator + ", is not available on a page - "
+ getDriver().getUrl());
}
}
这里XXXX代表占位符,代表定位元素的方式。
如上所示:使用安全操作的步骤是,判断元素是否出现,如果元素出现,那么进行下一步操作,如果不出现,那么log出一个提示错误消息。
这种对于元素是否出现没有特定要求的操作可以进行,但是如果需要元素一定出现,那么这种方法不适合。