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

Selenium-为什么在自定义预期条件下覆盖“应用”?

斜和硕
2023-03-14

我找不到答案,我想了解我们为什么这样做,所以:为什么在创建自定义ExpectedConditions时,我们必须重写apply方法?这很可能是一些简单和基本的东西,但我就是搞不懂。

以下是我在网上找到的一个例子:

public boolean customExpectedConditions() {

    WebDriverWait wait = new WebDriverWait(driver, 60);

    ExpectedCondition<Boolean> jqLoaded = new ExpectedCondition<Boolean>() {
      @Override
      public Boolean apply(WebDriver driver) { // why this part?
        try {
          return ((Long)((JavascriptExecutor)getDriver()).executeScript("return jQuery.active") == 0);
        }
        catch (Exception e) {
          // no jQuery present
          return true;
        }
      }
    };

  return wait.until(jqLoaded);
}

共有1个答案

陶星辰
2023-03-14

您需要重写它,因为Selenium中的等待实现(如FluentWaet)期望实现Function接口来测试条件。

ExpectedCondition

因此,当你准备自己的条件时,你需要实现逻辑,告诉硒条件是否满足。您可以通过重写Application方法来实现这一点。

您可以找到更多关于Selenium中的服务员如何在FluentWAT(其他服务员的工作方式完全相同)的情况下与条件一起工作的细节。

您还可以检查此项,以在Selenium中找到更多自定义条件的示例,并查看它们是否足够灵活,可用于您可以通过Java检测到的任何类型的事件。

 类似资料:
  • 目标: 在我的应用程序中,用户应该上传一个文件。如果上传了以外的文件,则小部件周围会出现一条警告消息()。如果用户更正了他的输入并上传了一个文件,消息应该会再次消失()。所有这些已经在应用程序中工作。但是现在我想将中进度条的颜色更改为另一种颜色,例如红色(如本例)。但是,警告消息仍然应该以默认的橙色显示。 问题: shinyFeedback会覆盖我的自定义CSS,并且进度条的颜色不会更改。我当然可

  • 问题内容: 我想要的只是让bool(myInstance)返回False(以及在if / or / and等条件下让myInstance评估为False。我知道如何覆盖>,<,=) 我已经试过了: 有什么建议? (我正在使用Python 2.6) 问题答案: 这是Python 2.x还是Python 3.x?对于Python 2.x,您正在寻找替代方法。

  • 在苹果自带地图和百度地图上覆盖一层图片,图片可以随地图缩放移动。关键就是自定义Overlay和OverlayView。 作者说:实在无力吐槽了,百度地图iOS SDK中的静态库文件居然都是10M !由于过大上传不了,亲们自行去 http://developer.baidu.com/map/sdk-ios.htm 按提示添加SDK吧!至于基于百度地图的自定义Overlay和OverlayView 记

  • 首先,我是Spring集成和Spring JMS方面的新手,所以我尝试采用的解决方案可能不适合我的需求。 我将尝试解释我需要实现什么:基本上,我需要将消息放在一个队列中,并在另一个队列中异步等待答案。 1、将消息放入队列: 我的解决方案: -- 2.异步监听来自另一个队列的回复消息: 我的解决方案1: 自定义MessageListener实现javax.jms.MessageListener。 然

  • 覆盖vite/client的默认类型为什么自定义的类型要放在前面引用?那不是自定义的类型被覆盖了吗? 在vite的官方文档中,有如下一段话: 这里我感觉很疑惑,ts不是后引用的会覆盖前面的吗? 那为什么还是自定义的要放在前面? 希望有大佬解一下惑。万分感谢!

  • 问题内容: 我正在使用Bootstrap 3,并且有一个显示一些数据的表。在此表中,我已应用了一些JavaScript进行条件格式设置,如果满足条件,则将元素的类设置为“红色” HTML的元素如下: 我现在在文本颜色适用的奇数行上有冲突,但是背景颜色被自举程序中的以下CSS覆盖。 我该如何解决此冲突并确保红色阶级有上风? 问题答案: 您的问题很可能与特异性有关。克里斯·科耶尔(ChrisCoyie