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

如何等待Ajax加载之前执行任何活动在selenium WebDrier?

宣望
2023-03-14

如何在SeleniumWebDriver中执行任何活动之前等待ajax加载?我有一个表单,我通过脚本填充表单字段,然后单击一个按钮,然后打开下一个表单,并从上一个表单中预填充几个字段,我想等待该表单,以便表单得到填充,然后我的下一个脚本运行ie,直到我的ajax加载。我正在使用java。

我认为等待直到使用,但我不知道如何使用这个。或者如果有其他解决方案,请建议...

共有1个答案

山鸿彩
2023-03-14

您可以使用waitFor条件方法,如本文所述。

最终,您将以超时结束,否则您的测试可能永远无法完成。例如:

public void waitForJQuery() {
    WebDriverBackedSelenium webDriverBackedSelenium = new WebDriverBackedSelenium(driver, driver.getCurrentUrl());
    webDriverBackedSelenium.waitForCondition("(typeof(sjq)==='undefined') || sjq.active == 0", JAVASCRIPT_TIMEOUT);
}
 类似资料:
  • 问题内容: 我正在尝试等待Selenium切换变化的帧,然后再等待另一个元素。即 如果我在第二次等待之前进行一次简单的处理,它的功能就很好,但是如果没有这样做,我会收到以下错误消息: 在等待填充该框架中的元素之前,是否有更好的方法来等待框架上下文切换完成? 问题答案: 您需要考虑以下几点: 切换到框架的代码行看起来很完美,不会引发任何错误: 在下一行中,您尝试了 ExpectedCondition

  • 我正在尝试等待Selenium在等待另一个元素之前切换帧。即。 如果我抛出一个简单的之前的第二个等待它的功能很好,但没有我得到以下错误: 在等待填充该框架内的元素之前,是否有更好的方法等待框架上下文切换完成?

  • 我对这段代码有一个问题,其中语句是在函数之前触发的,它返回0而不是正确的值。有没有办法在返回之前强制完成?我知道这是一个逻辑问题,因为如果我删除处的注释,它就可以正常工作。 如何在不使用或应用程序中的任何其他类型的超时?原始代码: 编辑代码: 这是StorageInformation类 从接口调用StorageInformation 我还尝试了r2rek的解决方案,得到了相同的结果 欢迎提出任何问

  • 问题内容: 我需要在ajax加载后添加一个类。首先,我给一些元素提供一个“就绪”类,该类可以启动CSS过渡。单击链接li#menu- item-318a时,它将删除ready类,该类将反转CSS转换,然后加载新的html文档。在Aja加载中,我再次想将ready类添加到Ajax调用插入的相同元素中。 下面的代码有一个回调,可以添加ready类,它可以工作。但是,当Ajax加载其集合时,Ready类

  • 这是我第一次在项目中使用Java,我需要这样做: 发送CoAP POST请求以打开致动器 但它抛出一个错误无法到达的语句,我不明白为什么:(

  • 我的应用程序中有一个页面,它使用PrimeFaces DataTable来显示人员列表,其中第一列中每个人的小图像。当用户单击作为p:命令链接一部分的小图像时,我使用ajax在p:对话框中更新p: graph icImage,其中包含所选图像的路径,并使用命令链接的完整显示对话框。最后,我使用对话框的onShow将对话框居中。以下是xhtml: 上面的代码工作得很好,但对列表中的小图像和对话框中的