硒 可以识别 存在 或 能见度 只要它们的元件的 存在 或 可见 在 HTML DOM 。从用户的角度来看,你可以调用isDisplayed()
上的方法 WebElement 如果打算检查 WebElement 的 显示 与否。根据当前的实现, Selenium 可能无法区分 加载 元素和 渲染 元素。 ExpectedConditions 类中的 ElementToBeClickable 方法为检查元素是否 可见 设置了期望值 __ __并 启用它, 以便您可以 单击 它。
当 元素在正在进行的DOM,但UI显示正在加载的加载 你还是要 等待 的 的JavaScript 和 AJAX调用 ,因此所有完成加载页面 WebElements 在页面上成为 交互 。在大多数 等待完整的负荷 ,你可以设置pageLoadStrategy
到 正常 ,但仍可能诱发 WebDriverWait 于预期 WebElement 成为 本 , 可见 , 交互 或 点击 。
粗略 如果没有加载UI seleniumhq 可能不能够与几个DOM元素的交互。
根据您的反问,这里是 WebElement 的不同阶段以及检查这些阶段的相应 ExpectedConditions :
*元素的 *存在 :
presenceOfElementLocated(By locator)
An expectation for checking that an element is present on the DOM of a page. This does not necessarily mean that the element is visible.
*元素的 *可见性 :
visibilityOf(WebElement element)
An expectation for checking that an element, known to be present on the DOM of a page, is visible. Visibility means that the element is not only displayed but also has a height and width that is greater than 0.
可 点击的 元素:
elementToBeClickable(By locator)
An expectation for checking an element is visible and enabled such that you can click it.
注意 :根据docs 元素是Clickable-
它已显示并启用
。
问题内容: 有什么方法可以检查元素在纯JS(无jQuery)中是否可见? 因此,例如,在此页面中:PerformanceBikes,如果将鼠标悬停在Deals上(在顶部菜单上),则会显示一个交易窗口,但开始时未显示。它在HTML中,但不可见。 那么,给定一个DOM元素,我如何检查它是否可见?我试过了: 但它似乎不起作用。我想知道应该检查哪些属性。我想到: 还有其他我可能会想念的东西吗? 问题答案:
有没有什么方法可以让我检查一个元素在纯JS(没有jQuery)中是否可见? 例如,在这个页面:Performance Bikes中,如果你将鼠标悬停在Deals(在顶部菜单上)上,就会出现一个Deals窗口,但一开始并没有显示出来。它在HTML中,但不可见。 那么,给定一个DOM元素,我如何检查它是否可见呢?我试过: 还有其他我可能失踪的吗?
本文向大家介绍如何检查可见DOM中是否存在元素?,包括了如何检查可见DOM中是否存在元素?的使用技巧和注意事项,需要的朋友参考一下 我们可以使用Node.contains方法执行此检查。Node.contains()方法返回一个布尔值,该值指示节点是否为给定节点的后代,即节点本身,其直接子级(childNodes)之一,子级的直接子级之一,依此类推。 示例 例如,您要查找具有id test的元素,
问题内容: 有没有一种有效的方法来判断DOM元素(在HTML文档中)当前是否可见(显示在 视口中 )? (问题是针对Firefox的。) 问题答案: 更新: 时间在前进,我们的浏览器也在前进。 不再推荐 使用 此技术, 如果不需要支持7之前的Internet Explorer版本,则应使用Dan的解决方案。 原始解决方案(现已过时): 这将检查该元素在当前视口中是否完全可见: 您可以简单地对其进行
问题内容: 有没有一种有效的方法来判断DOM元素(在HTML文档中)当前是否可见 (问题是针对Firefox的。) 问题答案: 更新: 时间在前进,我们的浏览器也在前进。 不再推荐使用 此技术, 如果不需要支持7之前的Internet Explorer版本,则应使用Dan的解决方案。 原始解决方案(现已过时): 这将检查该元素在当前视口中是否完全可见: 您可以简单地对其进行修改,以确定元素的任何部