在上述代码中,通过WebDriverWait和ExpectedConditions.invisibilityOf方法,等待指定的加载动画元素消失后再进行后续操作,确保测试操作在页面稳定状态下进行。(五)对 Shadow DOM 的支持
Shadow DOM 概念与 Selenium 4 的支持
Shadow DOM 是一种用于封装 Web 组件内部结构和样式的技术。在 Selenium 4 之前,处理 Shadow DOM 中的元素比较困难。而 Selenium 4 提供了专门的方法来与 Shadow DOM 中的元素进行交互。可以通过driver.findElement(By.cssSelector("shadow-root-element")).getShadowRoot()方法获取 Shadow DOM 的根元素,然后再在 Shadow DOM 内部使用常规的定位方法来查找元素。
代码示例
假设在一个网页中有一个自定义的 Web 组件,其内部结构使用 Shadow DOM 封装,我们要点击组件内部的一个按钮。