用 Selenium WebDriver 测试元素是否存在?
我们可以使用 Selenium 验证元素是否存在。这可以通过 findElements() 方法来确定。它返回与我们传入该方法作为参数的位置匹配的元素列表。
如果没有任何匹配的元素,将返回一个空列表 [大小 = 0]。我们不使用 findElement() 方法,因为如果没有匹配的元素,此方法会提供NoSuchElementException。
对于任何异常,我们必须使用 try catch 块来处理它。
示例
代码实现。
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.util.concurrent.TimeUnit;
import java.util.List;
public class ElementPresence{
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\Users\ghs6kor\Desktop\Java\chromedriver.exe");
WebDriver driver = new ChromeDriver();
String url = "https://tutorialspoint.com/about/about_careers.htm";
driver.get(url);
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
// identify element
List<WebElement> l=driver.findElements(By.xpath("//*[text()='Terms of Use']"));
if(l.size()== 0){
// empty list if no matching element
System.out.println("Element not present, appearing "+l.size()+ " time");
} else {
System.out.println("Element present, appearing "+l.size()+ " time");
}
driver.quit()
}
}输出

如果元素不存在,则输出为 -

广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP