gpt4 book ai didi

Javascript:完成DOM操作时的事件

转载 作者:行者123 更新时间:2023-11-30 18:49:17 25 4
gpt4 key购买 nike

我们有一个通过 Ajax 调用填充的表。在我们的 Watin 测试中,我们想要检查这个表的内容。我们已经设法找出填充表的 javascript 何时停止运行,因此该部分工作正常。但是,在 IE 中,在 javascript 填充 DOM 完成与 DOM 完全更新以供 Watin 检测更改之间似乎存在延迟。

现在我们有一个 Thread.Sleep(500) 来完成这项工作,但我不喜欢这样。在 DOM 完全更新的那一刻是否有事件或东西可以捕捉?

编辑:示例代码

var tbody = $("#myID tbody");
tbody.empty();
$.each(item.Producten, function (i, item) {
var row = "<tr><td>" + item.Property + "</td></tr>";
tbody.append(row);
});

最佳答案

我不认为有这样的事件。如果是这样,WatiN 就会使用它。但是当 WatiN 等待某事时,例如。当您使用 WaitUntil 方法时(有时您可以间接使用它,例如在读取 Exists 属性时),WatiN 只是使 Thread.Sleep在循环中调用(参见 TryFuncUntilTimeOut 类)。

几乎您需要的一切都可以通过使用WaitUntil 方法来实现,但有时它确实很棘手。如果我是你,我会多尝试这种方法(特别是如果你是 WatiN 的新手),但如果花费太多时间,我会使用 Thread.Sleep(500) 和算了。

我想补充一点,如果有可能在示例代码的末尾添加一些用于测试目的的 javascript 代码,您可以设置某种标志,例如 loadingCompleted = 1 ,并使用 TryFuncUntilTimeOut(我不记得是否有合适的 WaitUntil 方法)等待直到 loadingCompleted 设置为 1。你可以当然使用 WatiN 读取此变量 - 请参阅 Document.Eval 方法。

关于Javascript:完成DOM操作时的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4449257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com