当前位置: 首页 > 知识库问答 >
问题:

硒:硒如何识别可见或不可见的元素?有可能是在DOM中加载了它,但没有在UI上呈现?

蒋联
2023-03-14
    null

共有1个答案

汪兴为
2023-03-14

>

  • Selenium可以在元素在HTML DOM中出现或可见时立即识别它们的存在或可见性。从用户的角度来看,您可以在WebElement上调用isdisplay()方法来检查是否显示了预期的WebElement。根据当前的实现,Selenium可能无法区分加载的和呈现的元素。ExpectedConditions类中的ElementToBeClickable方法设置检查元素是否可见和启用的期望值,以便单击该元素。

    当元素加载到DOM中,但UI显示加载正在进行中时,您仍然需要等待JavaScript和AJAX调用完成页面加载,这样页面上的所有WebElements就可以相互连接了。您最多可以将PageLoadStrategy设置为normal,但是仍然需要引导WebDriverWait以使预期的WebElement呈现、可见、可交互或可单击。

    在这里您可以找到关于页面加载策略的详细讨论

      null
     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.
    

  •  类似资料:
    • 问题内容: selenium:selenium如何识别可见元素?是否可以将其加载到DOM中但不能在UI上呈现?我想验证一个元素可单击的情况,我知道Web驱动器具有方法“ ElementToBeClickable”,但是,我想知道内部的工作方式。请帮我。 另外,如何处理将元素加载到DOM中但UI显示加载正在进行中的情况,如何等待完整加载? 请让我知道,如果未加载UI,则selenium将直接调用DO

    • 当用触发时,事件错误表示元素不可见

    • 问题内容: 我的任务是编写一个解析器以单击网站上的一个按钮,但我只能单击其中一个按钮而遇到问题。以下代码适用于除一个按钮之外的所有按钮。 这是html:http: //pastebin.com/6dLF5ru8 这是源html:http: //pastebin.com/XhsedGLb python代码: 我收到此错误。 根据赛富尔,我刚刚尝试等待相同的元素不可见异常: 问题答案: 如果你看一下页

    • 同时点击一个特定的按钮-我的测试站点将打开模式窗口。 我找不到更好的方法等到任何一个都可见的时候。 你能提出一个解决这种情况的方法吗?

    • 我用的是C#硒。WebDriver.2.44.0在某个第三方网站上,我试图按下一个元素并得到这个: 我得到了元素,点击我得到了: 该项目是在一些子菜单显示后,我成功地按下父菜单。也放5秒睡眠保险点手风琴看的很清楚(在我眼里也是看的很清楚)。 问题 - 在第三方网站上,如何强制点击此项目?

    • 我无法从下拉列表中选择一个选项,该选项通过单击输入框可见。我在c#中使用Selenium。功能如下; 打开网页 点击目标输入框 这会导致显示目的地下拉列表 从此列表中选择一个选项 然后将选项写入目标输入框 此列表的超文本标记语言是; 我的测试代码是以下; 运行此测试会产生以下错误; OpenQA.硒元素不可见异常 : 元素不可见: 元素当前不可见,不能纵 我尝试在找到country list类之前