Selenium Java中的isDisplayed()方法

isDisplayed()方法用于确定元素是否可见。本文将详细讨论

的WebElement接口isDisplayed()方法。

  • 方法声明- boolean isDisplayed()
  • 它能做什么?此方法用于判断元素是否显示。这个方法节省了我们解析style属性以推断元素是否隐藏的时间。
  • 它会返回什么?如果元素在网页上可见,isDisplayed()方法将返回true。否则,它将返回false。
代码示例
让我们先以可见文本为例。

下面突出显示的元素是一个可见元素。这种元素存在于我们++Selenium游乐场网站++上。我们将在这个元素上使用isDisplayed()方法,看看会发生什么。

  • 我们将使用findElement()方法来查找元素。
  • 找到元素后,我们可以使用isDisplayed()方法。
java 复制代码
public class CodekruTest {
 
    @Test
    public void test() {
 
        // pass the path of the chromedriver location in the second argument
        System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
        WebDriver driver = new ChromeDriver();
 
        // opening the url
        driver.get("https://testkru.com/Elements/TextMessages");
 
        WebElement element = driver.findElement(By.id("plainText"));
 
        System.out.println("Is element visible on webpage: " + element.isDisplayed());
    }
}

产出-

复制代码
Is element visible on webpage: true
现在,我们来看看一个隐藏的元素

我们可以在++同一个网页++上再次找到隐藏的元素(我们心爱的游乐场网站)。我们在下图中突出显示了隐藏的元素。

现在让我们在隐藏元素上使用isDisplayed()方法。

java 复制代码
public class CodekruTest {
 
    @Test
    public void test() {
 
        // pass the path of the chromedriver location in the second argument
        System.setProperty("webdriver.chrome.driver", "/usr/local/bin/chromedriver");
        WebDriver driver = new ChromeDriver();
 
        // opening the url
        driver.get("https://testkru.com/Elements/TextMessages");
 
        WebElement element = driver.findElement(By.id("hiddenText"));
 
        System.out.println("Is element visible on webpage: " + element.isDisplayed());
    }
}

产出-

复制代码
Is element visible on webpage: false
如果我们对null元素使用isDisplayed()方法会怎么样?

我们将得到一个NullPointerException,如下面的例子所示。

java 复制代码
public class CodekruTest {
 
    @Test
    public void test() {
 
        // pass the path of the chromedriver location in the second argument
        System.setProperty("webdriver.chrome.driver", "C:\\Users\\MEHUL\\OneDrive\\Desktop\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
 
        // opening the url
        driver.get("https://testkru.com/Elements/TextMessages");
 
        WebElement element = null;
 
        System.out.println("Is element visible on webpage: " + element.isDisplayed());
    }
}

产出-

复制代码
java.lang.NullPointerException: Cannot invoke "org.openqa.selenium.WebElement.isDisplayed()" because "element" is null
相关推荐
程序员小远9 天前
自动化测试基础知识总结
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
LT10157974449 天前
2026年Web自动化测试工具选型指南:多浏览器兼容解决方案
前端·测试工具·自动化
程序员三藏10 天前
Web自动化测试详解
自动化测试·软件测试·python·selenium·测试工具·职场和发展·测试用例
深蓝电商API10 天前
Selenium 5.0 全新架构解析:值得升级吗?
爬虫·selenium
专业机床数据采集10 天前
基于 Wireshark 抓包逆向设备通信协议,并用 C# UDP协议跨平台 实现宝元数控程序列表读取、上传、下载和删除
网络·测试工具·wireshark·程序传输·宝元数控·dnc·数控程序传输
程序员龙叔10 天前
从 0 开始学习 AI 测试 - 从接口测试来教你如何用 AI 来生成自动化测试代码
自动化测试·软件测试·python·软件测试工程师·测试工具·性能测试·ai测试
Saniffer_SH10 天前
【高清视频】Gen6 服务器还没到,Gen6 SSD 怎么测?Emily 现场演示三种测试环境
人工智能·驱动开发·测试工具·缓存·fpga开发·计算机外设·压力测试
川石课堂软件测试10 天前
APP自动化测试|高级手势操作&toast操作
css·功能测试·测试工具·microsoft·fiddler·单元测试·harmonyos
LT101579744410 天前
2026年开源自动化测试工具选型指南:功能与适用场景解析
测试工具·开源·自动化