当前位置: 首页 > 面试题库 >

selenium:检查元素的存在

莫泓
2023-03-14
问题内容

在实时自动化中,在对每个元素执行某些操作之前,我们是否要检查每个元素的存在?

无论哪里有findElement声明,都有机会出现 NoSuchElementException 。我的问题是我们是否每次都要检查元素的存在?

是否每个findElement语句都必须用try-catch块包围?


问题答案:

您可能会发现使用AbstractWebDriverEventListener类特别有用。此类实现WebDriverEventListener接口,该接口定义beforeafter挂钩由WebDriver触发的事件。

可以在钩子beforeFindBy之前实现这样的一种,以检查element的存在。例如:

public void beforeFindBy(By by, WebElement element, WebDriver driver) {
    // Explicit wait to check for the presence of the element using the "by" locator
}

同样,before hook
beforeClickOnOn可以实现为在对该元素执行click事件之前检查该元素是否可单击。



 类似资料:
  • 问题内容: 我想检查Selenium中是否存在一个元素,如果存在,请将其分配给一个名称。 现在,我有这样的东西: 但是,当不存在值为9的元素时,它将返回错误。有没有一种方法可以检查它是否存在,或者类似的东西? 问题答案: 有几种选择。我推荐这些。 1.创建方法或Web驱动程序扩展。 2.计算元素,如果有1个或更多元素,则获取它。 那你可以检查

  • 问题内容: 我有一个问题-我正在使用Selenium(firefox)Web驱动程序打开网页,单击一些链接等,然后捕获屏幕截图。 我的脚本可以从CLI正常运行,但是通过cronjob运行时,它并没有通过第一个find_element()测试。我需要添加一些调试,或一些帮助我弄清为什么失败的东西。 基本上,我必须先单击“登录”锚点,然后才能进入登录页面。元素的构造为: 我正在通过LINK_TEXT方

  • 问题内容: 我正在尝试通过查找元素 在Python中,selenium并不总是存在。是否有一条快速的线检查它是否存在,并在不存在时显示NULL或FALSE代替错误消息? 问题答案: 您可以按以下方式实现/ 阻止以检查元素是否存在: 或使用其中一种方法进行检查。它应该返回空列表或与传递的选择器匹配的元素列表,但如果没有找到元素,也不例外:

  • 问题内容: 我试图在执行此行之前检查元素是否存在: 如果id 在文档中不存在,甚至在-block中,都会引发错误“ no such element” 。我找到了Java的答案,您可以在其中检查大小是否为0,但是在node-js中,这会在我检查大小之前引发错误。 问题答案: 您可以利用的可选错误处理程序参数。 我在文档中找不到明确声明的内容,但是通过模块源代码中的函数定义确定了这一点:

  • 在实时自动化中,在对每个元素执行操作之前,我们是否检查它们的存在(在测试中)? 只要有一个语句,就有可能出现NoTouchElementException。我的问题是我们是否每次都检查元素的存在? 是否每个语句都需要被块包围?

  • 本文向大家介绍检查Java ArrayList中元素的存在,包括了检查Java ArrayList中元素的存在的使用技巧和注意事项,需要的朋友参考一下 java.util.ArrayList.contains()方法可用于检查ArrayList中是否存在元素。此方法具有单个参数,即要测试其在ArrayList中是否存在的元素。如果该元素存在于ArrayList中,则返回true;如果不存在该元素,